mysql带表注释的按天分区的分区表的建表语句
时间: 2023-08-14 17:18:50 浏览: 56
好的,以下是一个示例的建表语句:
```
CREATE TABLE `my_table` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL,
`created_at` datetime NOT NULL COMMENT '记录创建时间',
PRIMARY KEY (`id`,`created_at`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
PARTITION BY RANGE(TO_DAYS(created_at)) (
PARTITION p0 VALUES LESS THAN (TO_DAYS('2021-09-01')),
PARTITION p1 VALUES LESS THAN (TO_DAYS('2021-10-01')),
PARTITION p2 VALUES LESS THAN (TO_DAYS('2021-11-01')),
PARTITION p3 VALUES LESS THAN (TO_DAYS('2021-12-01'))
) COMMENT='按天分区的示例表';
```
可以看到,这是一个按照 `created_at` 字段的日期来进行分区的表,同时在表的注释中也有说明。每个分区都是按照日期范围来定义的,例如 `p0` 分区表示创建时间早于 2021 年 9 月 1 日的数据。
相关问题
mysql带表注释的分区表建表语句
以下是带表注释的分区表建表语句的示例:
```
CREATE TABLE `my_table` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL,
`age` int(11) NOT NULL,
`date` date NOT NULL,
`comments` varchar(200) DEFAULT NULL,
PRIMARY KEY (`id`,`date`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
PARTITION BY RANGE (YEAR(date)) (
PARTITION p0 VALUES LESS THAN (2020) COMMENT '2019及以前',
PARTITION p1 VALUES LESS THAN (2021) COMMENT '2020',
PARTITION p2 VALUES LESS THAN (2022) COMMENT '2021',
PARTITION p3 VALUES LESS THAN (2023) COMMENT '2022',
PARTITION p4 VALUES LESS THAN (2024) COMMENT '2023',
PARTITION p5 VALUES LESS THAN MAXVALUE COMMENT '2024及以后'
) COMMENT='我的分区表';
```
这个示例创建了一个名为 `my_table` 的表,包含了 `id`、`name`、`age`、`date` 和 `comments` 等列。它将按照 `date` 列的年份进行分区,并对每个分区添加了注释。表本身也有一个表注释。
mysql 分区表建表sql
创建 MySQL 分区表的 SQL 语句如下所示:
```sql
CREATE TABLE table_name (
id INT,
name VARCHAR(100),
created_at DATETIME
)
PARTITION BY RANGE (YEAR(created_at)) (
PARTITION p0 VALUES LESS THAN (2020),
PARTITION p1 VALUES LESS THAN (2021),
PARTITION p2 VALUES LESS THAN (2022),
PARTITION p3 VALUES LESS THAN MAXVALUE
);
```
这是一个简单的示例,将表按照 `created_at` 字段的年份进行分区,分为 p0、p1、p2 和 p3 四个分区。你可以根据自己的需求修改字段名和分区策略。