约束条件
字段约束
•unsigned——只能用于数值类型,不允许出现负数,也就是数值要>=0;
•auto_increment——自动增加1,只能修饰整数类型,且必须设定为 primary key。如:
n_id int auto_increment primary key,
•default——指定默认值;
•comment——注释说明;
•not null 和 null ——默认为null;
•primary key ——主键约束,每张表里面只能有一个主键,并且每一张表都要求有主键,每一行的唯一标识(就像身份证一样),主键保证记录的唯一性,主键自动为not null。primary key不必须和auto_increment一起使用。一个表只能有一个主键!
主键分类
根据主键的字段数量来分:
- 单一主键——推荐使用
-
复合主键——不建议使用,因为违背三范式
- 必须使用表级定义
1 primary key(k_1, k_2 ,...)
根据主键的性质来分:
- 自然主键——推荐使用,最好是和业务没有任何关系的自然系数做主键
- 业务主键——不建议使用,如身份证,银行卡号
- 复合合主键必须要用表级约束,不能用列级约束
- MySql提供主键自增auto_increment,实现主键自动维护
唯一约束
- ~——unique
- ~可以保证记录的唯一性
- ~字段可以为空值null
- 每张表可以存在多个~
约束
- 表级约束
- null 和 not null 不能使用表级约束。
- 列级约束
外键约束
- ~——foreign key
- 保持数据一致性和完整性
- 实现一对一或一对一多关系
没有什么能阻止我对知识的追求!!!