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_namecolumn_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_namecolumn_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 '客户信息表';

相关文章