🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
列属性是指定义或创建一个列的时候,可以给列额外增加的“附加特性”。 形式如下: ``` create table 表名 (列名 列类型 [列属性...] ); ``` 说明: 1,一个列可以有多个列属性; 2,多个列属性空格隔开就行; 列属性包括以下这些: * null,not null 设定为空,或非空,表明该列数据是否可为空值(null)。 * default 用于设定列默认值(不给值或给空值null并not null,就会自动使用该值)。 使用形式:default 默认值 。 * primary key 用于设定主键。 主键就是一个表中数据的“关键值”,通过该关键值就可以找到该特定的数据行。 一个表的主键值不能重复(相等),比如文章表中的文章编号id,比如用户表中的用户名。 主键字段必须有值(不能为空)。 一个表只能有一个主键(但一个主键可以是1个字段或2个以上的字段联合构成) * auto_increment 用于设定一个整数字段的值是“自增长的”,通常用于一个表中的数据行的编号(比如文章编号)。 默认情况下自增长值从1开始。 一个表只能设定一个字段为自增长特性。 * unique key 用于设定“唯一键”的特性。 唯一键表示一个表中的某字段的值是“唯一的”,“不重复的”。 唯一键有点类似primay key,但其值可以为空(null)。 一个表可以有多个唯一键。 * comment 用于设定字段的说明性内容,类似注释,但又不是注释(属于有效的代码)。 使用形式: comment ‘文字内容’ 演示1: ![](https://img.kancloud.cn/a9/de/a9de9e05bdac4fbdd26cae9b665fe2ca_747x323.jpg) 演示: 创建一个表,并用上以上所有字段属性。字段可包括:id, kecheng, keshi, intro. ![](https://img.kancloud.cn/55/0b/550bda68f17a56f24054b1a0253a7143_704x178.jpg) 联合主键演示: ![](https://img.kancloud.cn/88/6e/886e1dd49a462a1b70fbbecb644d08e1_504x426.jpg) ## 昨日回顾: ``` create table 表名( 字段名1 类型 [字段附加属性], 字段名2 类型 [字段附加属性], .... primary key(xx1, xx2, ......), unique key(xx1, xx2, .... ) ) charset= utf8/gbk -- 表中存储数据的字符编码 engine=InnoDB/MyIsam/BDB/Memory -- 表类型/存储引擎 ``` ### 类型: #### 数字类型: * 整数:int, tinyint, smallint, mediumint, bigint * 小数:float , double, decimal(M, D); #### 时间类型: time, date, datetime, year, timestamp, #### 字符类型: * char: 定长字符,最大可设定255(字符个数) * varchar: 变长字符,最大可设定为65532个字符 * text:长文本,不能设定长度,其中最长能存储65535个字符 * enum:单选型字符,枚举字符, * enum(‘选项1’,’选项2’,’选项3’,....),他们每个选项对象的索引值为:1,2,3,4,5,6 ,..... * set:多选型字符, * set(‘选项1’,’选项2’,’选项3’,....),他们每个选项对象的索引值为:1,2,4,8,16 ,..... ### 属性: * not null 设定为非空数据 * default 默认值 * primary key 主键,一个表只能设置一个 * unique key 唯一键 * auto_increment 自增 用于整数,并且一个表只能设置一个 * comment ‘说明文字’