约束
约束的种类
NOT NULL
NOT NULL 只有列级定义方式,没有表级(只能加在字段后面)
UNIQUE
不能重复,但是可以为NULL
PRIMARY KEY
不能重复,不能为NULL
一张表只能有一个主键
根据主键性质可划分为:
自然主键(主键值是一个和业务没有任何关系的自然数,推荐使用)
业务主键(主键值和业务挂钩,例如:用银行卡的卡号做主键、用身份证号做主键。不推荐使用,因为业务一旦发生改变主键值也需要发生改变,而有时主键值改变不了)
根据字段数可划分为:
单一主键(常用,推荐使用)
复合主键(不建议使用,违背三范式)
MySQL提供主键值自增:AUTO_INCREMENT 自动维护一个自增的数字,从1开始,以1递增
FOREIGN KEY
有外键的表叫做子表,被外键引用的表叫做父表
操作顺序:
删除数据:先删子,再删父
添加数据:先父再子
创建表:先父再子
删除表:先子再父
外键引用其他表的字段时,被引用的字段需要具有唯一性
外键约束主要为数据有效性验证
案例见下方代码
CHECK
DEFAULT
列级约束
表级约束
Last updated