有时只定义了字段的数据类型还不够,还要设置其他一些附加的属性,如自动增量的设置、自动补0的设置和默认值的设
置等一些特殊的设置。下面具体介绍这些特殊字段的属性。
- UNSIGNED无符号
该属性只能用于设置数值类型,不允许数据列出现负数。如果不需要向某字段中插入负数,则使用该属性修饰可以使该
字段的最大存储长度增加一倍。例如,正常情况下数据类型TINYINT的数值范围在-128 127,而使用UNSIGNED属性修饰以
后最小值为0,最大值可以达到255.
创建了一个UNSIGNED_例子数据表,查看数据表结构 id 是TINYINT 类型,id2是TINYINT UNSIGNED类型,插入数据128时 id报错,id2则可以正常插入。
-
ZEROFILL补零
该属性也只能用于设置数值类型,在数值之前自动用0补齐不足的位数。例如,将5插入一个声明为int(3) ZEROFILL的字段,
在之后查询输出时,输出的数据将是“005"。当给一个字段使用ZEROFILL修饰时,该字段自动应用UNSIGNED属性。
例子 -
AUTO_ INCREMENT自动增量
该属性用于设置字段的自动增量属性,当数值类型的字段设置为自动增量时,每增加一条新记录,该字段的值就自动加1,
而且此字段的值不允许重复。此修饰符只能修饰整数类型的字段。插入新记录时自增字段可以为NULL、0或留空,这时自增
字段自动使用上次此字段的值加1,作为此次的值。插入时也可以为自增字段指定某-非零数值,这时,如果表中已经存在此
值将出错;否则使用指定数值作为自增字段的值,并且下次插入时,下个字段的值将在此值的基础上加1。
例子
- 需要注意的时自动增量约束必须要设置为主键(只能有一个自动增量的字段)。
-
NULL和NOT NULL 空与不为空
默认为NULL,即没有在此字段插入值。如果指定了NOT NULL,则必须在此字段插入值。
例子
- NULL时默认为空
- NOT NULL插入时必须要填写值,否则报错
- DEFAULT 默认值
可以通过此属性来指定一个默认值,如果没有在此列添加值,那么默认添加此值。例如,在用户表users中, 可以将性别
字段的默认值设置为“男”。在为该列插入数据时,只在当用户为“女”时才需要指定,否则可以不为该字段指定值,默认
值就为“男”。
例子
网友评论