一、字段约束
1.unsigned 无符号 只能存储正数
只能用于设置数值类型 不允许出现负数
最大存储长度会增加一倍
实例:
代码语言:javascript复制mysql> create table testcon(
-> age1 tinyint,
-> age2 tinyint unsigned
-> );
insert into testcon(age1,age2) values(255,255);
注意:
如果开启了不严谨报错 会按照当前存储最大值近些截取 如果设置了无符号 不允许插入负值的
2.zerofill 零填充
只能用于设置数值类型 在数值之前会自动用零补齐不足的位数
实例:
代码语言:javascript复制alter table testcon add zv int(5) zerofill; 修改表testcon添加子弹zv类型int 约束为零填充
insert into testcon(zv) values(1234);
>>> 01234 #补位1个
3.auto_increment 自增
用于设置字段的自动增长 没增加一条记录 该字段的值会自动增加
实例:
代码语言:javascript复制mysql> create table autoincre(
-> id int primary key auto_increment,
-> username varchar(20)
-> );
注意:
自增需要配合索引去使用
插入数值的时候 无需给值 自动增长 步长默认为1
4.default 默认值
可以通过此属性来指定一个默认值 如果没有在此列添加值 那么默认值为当前添加的值 如果不给default默认值 则默认值为null 如果给当前存在默认值的字段时 当前字段值为你给定的值。
实例:
代码语言:javascript复制alter table autoincre add sex enum('w','m') default 'w';
insert into autoincre(username) values('lucky');
5.null 和 not null
字段没有给定默认值的情况下 值默认为null 如果给当前字段指定了not null 则必须在插入值的时候 给not null 的字段插入值
实例:
代码语言:javascript复制alter table user add age tinyint unsigned not null;
6.comment 设置说明
实例:
代码语言:javascript复制在创建的使用设置说明
mysql> create table testcom(
-> info varchar(40) comment '存储个人信息字段'
-> );
修改字段的说明
alter table user modify username varchar(20) comment '存储用户名'
设置表的说明信息
alter table 表名 comment='说明内容'
二、null值注意事项
(1) null值意味着没有值或未知值
(2) 不能对null值进行算数运算
(3) 对null值进行算数运算 其结果还是null
(4) 0或者null 都意味着假 其余值都为真