开发者社区> 问答> 正文

DDL列的类型和属性是什么?


在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]是否可为空,以及[DEFAULTdefault_value]定义的列的默认值和标准的MySQL DDL中无甚不同。
关于[PRIMARY KEY]主键部分,对于批量更新表,分析型数据库中主键的概念是弱化的,分析型数据库不要求一个表有主键,有主键的表的性能和用法上和没有主键的表之间没有任何区别。若一个表进行数据导入时该次导入的数据中存在主键冲突,则该次导入会失败并且报错。对于实时更新表,请使用在所有列尾部的"primarykey (col1, col3)"语法指定主键。
列属性上,一个列可以设置列属性disableIndex =true,用于屏蔽分析型数据库的默认列索引,不过需要注意的是,要如此做,则这个列应该不在实际查询中所筛选和计算的。precision和scale属性则是针对decimal数据类型(目前暂未上线,未来会上线该功能)特有的属性,precision为数字整体有效数字个数,scale为小数点后的数字个数。

展开
收起
nicenelly 2017-10-31 11:40:47 1662 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载