全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网
分析型数据库

3.4 列的类型和属性

更新时间:2017-06-07 13:26:11

在DDL中,建表时一列的定义是:

col_name type [NOT NULL | NULL] [DEFAULT default_value] [PRIMARY KEY] [COMMENT 'string'] [column_options(precision, scale, disableIndex...)]

其中col_name为列名,type为列的数据类型,详见2.3节。[NOT NULL | NULL]是否可为空,以及[DEFAULT default_value]定义的列的默认值和标准的MySQL DDL中无甚不同。

关于[PRIMARY KEY] 主键部分,对于批量更新表,分析型数据库中主键的概念是弱化的,分析型数据库不要求一个表有主键,有主键的表的性能和用法上和没有主键的表之间没有任何区别。若一个表进行数据导入时该次导入的数据中存在主键冲突,则该次导入会失败并且报错。对于实时更新表,请使用在所有列尾部的"primary key (col1, col3)"语法指定主键。

列属性上,一个列可以设置列属性disableIndex = true,用于屏蔽分析型数据库的默认列索引,不过需要注意的是,要如此做,则这个列应该不在实际查询中所筛选和计算的。precision和scale属性则是针对decimal数据类型(目前暂未上线,未来会上线该功能)特有的属性,precision为数字整体有效数字个数,scale为小数点后的数字个数。

本文导读目录