mysql创建分区表语法
时间: 2024-09-20 07:09:36 浏览: 28
MySQL创建分区表的语法通常包含以下几个部分:
```sql
CREATE TABLE [IF NOT EXISTS] table_name (
-- 表的结构定义(列、索引等)
) PARTITION BY [PARTITIONING_TYPE] (
partition_column [PARTITION_KEY] VALUES_LIST (value_list1),
...,
partition_column_n [PARTITION_KEY] VALUES_LIST (value_list_m)
);
PARTITIONING_TYPE 可能包括:
- RANGE (按范围划分,如 `RANGE(low_value, high_value)`)
- LIST (按预定义列表划分,如 `LIST(value1, value2, ..., value_n)`)
- HASH (按哈希函数值划分,如 `HASH(partition_column)`)
例如,一个按照日期范围分区的简单例子:
```sql
CREATE TABLE sales (
id INT PRIMARY KEY,
sale_date DATE,
amount DECIMAL(10, 2)
) PARTITION BY RANGE (YEAR(sale_date)) (
PARTITION p0 VALUES LESS THAN (2010),
PARTITION p1 VALUES LESS THAN (2020),
PARTITION p2 VALUES LESS THAN MAXVALUE
);
```
在这个例子中,`sales`表会被划分为三个时间段:2009年之前、2010年至2019年、以及2020年至今。