表的约束,对用户操作表的数据进行约束
1.默认值
作用:当用户对使用默认值的字段不插入数据的时候起作用。default
2.非空
在字段后加入not null,作用:限制字段必须赋值。
1)非空字段必须赋值
2)非空字段不能为null。
3.唯一
unique:不能限制null,意思是说可以插入多个null值
1)唯一字段可以插入null值;
2)唯一字段可以插入多个null值。
4.主键(非空+唯一)
primary key:
注意:1)通常情况下,每张表都会设置一个主键字段,用于标记每条记录的唯一性;
2)建议不要选择表的包含业务含义的字段作为主键,建议给每张表独立设计一个非业务含义的字段。
5.自增长
auto_increment
id int(4) zerofill primary key auto_increment;表示id号从1开始,四位,不满足四位其余用0填充,例如0001.
delete from 表名;不能删除自增长约束
truncate table 表名;可以删除约束,从头再来。
6.外键
作用:约束两张表的数据
constraint 外键名称 foreign key(外键)reference 参考表(参考字段);
1)被约束的表成为副表,约束别人的表成为主表;外键设置在副表上。
2)主表的参考字段通常设置为主键。
3)添加数据的时候,先添加主表,后添加副表;
4)修改/删除数据:先修改/删除副表数据,再修改/删除副表数据。
级联操作:表示在外键的前提下修改/删除主表中的数据不受副表关联数据的影响,而且会将副表关联的数据修改/删除。
级联修改:constraint 外键名称 foreign key(外键)reference 参考表(参考字段) on update cascade;
级联删除:constraint 外键名称 foreign key(外键)reference 参考表(参考字段) on update cascade;
级联修改/删除(中间无逗号):CONSTRAINT employee_adrress_fk FOREIGN KEY(id) REFERENCES adrress(id) ON UPDATE CASCADE ON DELETE CASCADE