全部产品
阿里云办公

3.3 创建与修改表

更新时间:2018-11-06 17:51:15

AnalyticDB表类型分为两种:维度表和普通表,详细介绍参见名词解释。和传统关系型数据库相比AnalyticDB有一些独有的特性,所以它的DDL在遵循类MySQL规范的基础上也有独有的属性。

新建表

维度表

ddl语法

  1. CREATE DIMENSION TABLE table_name (
  2. column_name data_type [NOT NULL][DEFAULT 'default'][COMMENT 'comment'][, …],
  3. primary key (column_name[, ])
  4. )
  5. options (updateType='realtime');

参数

  • CREATE DIMENSION TABLE要加上DIMENSION关键字;

  • data_type AnalyticDB支持的列类型参考数据类型

  • NOT NULL可选项,列属性,默认为NULL;

  • DEFAULT ‘default’ 可选项,列属性;

  • COMMENT ‘comment’ 可选项,列属性;

  • primary key 指定主键,可以为联合主键;

  • updateType=’realtime’ 实时更新。

示例

  1. CREATE DIMENSION TABLE goods_table (
  2. goods_id bigint comment '货物编号',
  3. price double comment '价格',
  4. class bigint comment '类别',
  5. name varchar comment '名称',
  6. update_time timestamp comment '上新时间',
  7. primary key (goods_id)
  8. )
  9. OPTIONS (UPDATETYPE='realtime');

普通表

ddl语法

  1. CREATE TABLE table_name (
  2. column_name data_type [NOT NULL][DEFAULT 'default'][COMMENT 'comment'][, …],
  3. primary key (column_name[, ])
  4. )
  5. PARTITION BY HASH KEY(column_name) PARTITION NUM N
  6. TABLEGROUP table_group_name
  7. options (updateType='realtime')

参数

  • data_type AnalyticDB支持的列类型参考数据类型

  • NOT NULL 可选项,列属性,默认为NULL;

  • DEFAULT ‘default’ 可选项,列属性;

  • COMMENT ‘comment’ 可选项,列属性;

  • primary key 指定主键,可以为联合主键,普通表的主键中必须含有分区列。

  • TABLEGROUP 表归属的表组;

  • updateType=’realtime’ 实时更新。

示例

  1. CREATE TABLE customer_table (
  2. customer_id bigint NOT NULL COMMENT '顾客ID',
  3. customer_name varchar NOT NULL COMMENT '顾客姓名',
  4. phone_num varchar NOT NULL COMMENT '电话',
  5. city_name varchar NOT NULL COMMENT '所属城市',
  6. sex int NOT NULL COMMENT '性别',
  7. id_number varchar NOT NULL COMMENT '身份证号码',
  8. home_address varchar NOT NULL COMMENT '家庭住址',
  9. office_address varchar NOT NULL COMMENT '办公地址',
  10. age int NOT NULL COMMENT '年龄',
  11. login_time timestamp NOT NULL COMMENT '登录时间',
  12. PRIMARY KEY (customer_id)
  13. )
  14. PARTITION BY HASH KEY (customer_id) PARTITION NUM 32
  15. TABLEGROUP ads
  16. OPTIONS (UPDATETYPE='realtime')
  17. COMMENT '0 男 1女';

修改表

分析型数据库只支持ALTER TABLE增加列和修改普通表的二级分区数,不支持修改和删除列。如果要修改或者删除列,只能删除表后重新建表。

增加列

ddl语法

  1. ALTER TABLE table_name ADD column_name data_type;

示例

  1. ALTER TABLE goods_table ADD NUM bigint;