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

 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号