AnalyticDB MySQL版 2.0 CREATE TABLE
用于创建普通表。
创建维度表
语法
CREATE DIMENSION TABLE table_name (
column_name column_type [NOT NULL][DEFAULT 'default'][COMMENT 'comment'][, …],
[FULLTEXT INDEX index_name (column_name),]
primary key (column_name[, …])
)
参数
- CREATE DIMENSION TABLE:
DIMENSION
关键字,表示创建的表是维度表。 - column_type:列类型,分析型数据库MySQL版支持的列类型,请参见数据类型。
- NOT NULL:可选项,列属性。定义了
NOT NULL
的列不允许值为NULL
。未定义此属性时,默认值为NULL
。 - DEFAULT ‘default’:可选项,列属性。
- COMMENT ‘comment’:可选项,列属性。
- FULLTEXT INDEX:可选项,指定列建立全文索引,索引名字为
index_name
。column_name
的类型支持Varchar或clob,建议为Varchar。 - primary key:指定主键,可以为联合主键。
示例
CREATE DIMENSION TABLE goods (
goods_id bigint comment '货物编号',
price double comment '价格',
class bigint comment '类别',
name varchar comment '名称',
update_time timestamp comment '上新时间',
FULLTEXT INDEX name_fulltext (name),
primary key (goods_id)
)
创建普通表
语法
CREATE TABLE table_name (
column_name column_type [NOT NULL][DEFAULT 'default'][COMMENT 'comment'][, …],
[FULLTEXT INDEX index_name (col_name),]
primary key (column_name[, … ])
)
PARTITION BY HASH KEY(column_name)
[PARTITION NUM N]
TABLEGROUP tablegroup_name
参数
- column_type:列类型。分析型数据库MySQL版支持的列类型,请参见数据类型。
- NOT NULL:可选项,列属性。定义了
NOT NULL
的列不允许值为NULL
,默认为NULL
。 - DEFAULT ‘default’:可选项,列属性。
- COMMENT ‘comment’:可选项,列属性。
- FULLTEXT INDEX:可选项,指定列建立全文索引,索引名字为
index_name
。column_name
的类型支持Varchar或clob,建议为Varchar。 - primary key:指定主键,可以为联合主键,普通表的主键中必须含有分区列。
- HASH KEY:指定分区列,详情请参见一级分区的规划和设计。
- PARTITION NUM:可选项,一级分区数,默认为128。
- TABLEGROUP:表所归属的表组。重要 创建普通表之前,需要先创建表组,否则系统执行建表语句时将提示出错。如何创建表组,请参见创建表组。
示例
在
table_group
表组下,新建CUSTOMER表。CREATE TABLE customer (
customer_id bigint NOT NULL COMMENT '顾客ID',
customer_name varchar NOT NULL COMMENT '顾客姓名',
phone_num bigint NOT NULL COMMENT '电话',
city_name varchar NOT NULL COMMENT '所属城市',
sex int NOT NULL COMMENT '性别',
id_number varchar NOT NULL COMMENT '身份证号码',
home_address varchar NOT NULL COMMENT '家庭住址',
office_address varchar NOT NULL COMMENT '办公地址',
age int NOT NULL COMMENT '年龄',
login_time timestamp NOT NULL COMMENT '登录时间',
FULLTEXT INDEX address_fulltext (home_address),
PRIMARY KEY (customer_id,phone_num)
)
PARTITION BY HASH KEY (customer_id)
TABLEGROUP table_group
COMMENT '客户信息表';