1.数据约束
1) 默认值
在创建的字段后面添加default 可以设置字段的默认值
ps: 1.对默认值字段插入null是可以的 2.对默认值字段可以插入非null
2)非空
作用: 限制字段必须赋值 , 非空字段不能赋null
在字段后面加 not null
3)唯一
作用: 对字段的值不能重复
注意:1.唯一字段可以插入null 2.唯一字段可以插入多个null
在字段后面加 unique
4)主键
作用: 非空+唯一
注意: 1.在通常情况下,每张表都会设置一个主键字段。用于标记表中的每条记录的唯一性.
2.建议不要选择表的包含业务含义的字段作为主键,建议给每张表独立设计一个非业务含义的id字段
在需要设置主键的字段后面加 primary key
5)自增长
作用: 自动递增
在字段后面添加 auto_increment
不能影响自增长约束的删除: delete from
可以影响自增长约束的删除: truncate table
6)外键
作用: 约束两种表的数据 解决数据冗余高问题 独立出一张表
在创建表的时候在后面添加
constraint 副表名称_主表_fk foreign key(副表被约束的字段名) references 主表名称(主表约束名)
注意: 1)被约束的表称为副表,约束别人的表称为主表,外键设置在副表上
2)主表的参考字段通用为主键
3)添加数据: 先添加主表 再添加副表
4)修改数据: 先修改副表,再修改主表
5)删除数据: 先删除副表,再删除主表
声明一个外键约束
constraint 副表名称_主表名称_fk foreign key(副表被约束的字段名) references 主表名称(主表约束名) on update cascade on delete cascade
on 后面的是级联修改
7) 级联操作
级联修改 : on update cascade
级联删除: on delete cascade
可以把主表和副表连起来操作