MySQL字段约束和null值注意事项
字段约束
-
unsigned 无符号 只能存储正数
只能用于数值类型 不允许出现负数 长度增加一倍
CREATE TABLE `test` ( `age` tinyint(4) DEFAULT NULL, `newage` tinyint(3) unsigned DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8
-
zerofill 零填充
只能用于数值类型 当存储的数据长度不足 使用零填充
alter table test add zf int(5) zerofill; insert into test(zf) values(12345);
-
auto_incement 自增
用于设置字段的自动增长 每增加一条记录 该字段的值会自动加1(用于设置主键)
create table test2( -> id int primary key auto_increment, -> username varchar(10) default 'xxx' -> ); insert into test2 values(null, 'xxx'); insert into test2(username) values('xxx');
注意:
- 需要配合我们的主键索引使用
- 插入数据无需给值 增长的步长默认为1
-
default 默认值
当不给该字段插入值 则值为默认值 否则值为你所给定的值
alter table test2 add sex enum('w','m') default 'w';
-
null/not null
字段在没有设置not null的时候 默认都为null 此刻插入数据的时候 可以给值 也可以不给值
如果设置了not null 则必须给值
alter table test2 add age tinyint unsigned not null; insert into test2(username) values('xxx');
-
comment 字段说明
字段说明
alter table test2 add info varchar(20) comment '个人说明';
表说明
alter table test2 comment='测试表';
null值注意事项
- null 意味着没有值或者是未知值
- 不能对空值进行运算 结果为null
- 0和null都为假
- 可以测试是否为空 is null
本文来自博客园,作者:寻月隐君,转载请注明原文链接:https://www.cnblogs.com/QiaoPengjun/p/16011913.html