1. 主键约束(primary key):
相当于唯一约束+非空约束分为单列主键,多列联合主键,一个表只有一个主键多列联合主键的每列都不能为空2. 自增长约束(auto_increment):
用在单列主键后面,且该列只能是整数类型(tinyint,smallint,int,bigint),实现主键自增长delete删除数据后自动增长从断点开始,truncate删除数据后自动增长从默认起始值开始3. 非空约束(not null):
该列的值不能为空真正的空是NULL,不是’NULL’,也不是’’4. 唯一约束(unique):
该列的值不能重复该列可以为NULL,NULL不等于NULL,即可以有多条NULL的记录5. 默认约束(default):
指定某列的默认值,若该列没有指定值则为默认值6. 零填充约束(zerofill)(使用非常少):
插入数据时,当该字段的值长度小于定义的长度,在该值的前面补上07. 外键约束 - 一对多关系(foreign key):
主键所在的表就是主表,外键所在的表就是从表 添加数据:必须先给主表添加数据,再给从表添加数据外键列的值不能随便填写,必须依赖主表的主键列 删除数据:主表的数据被从表依赖时,不能删除,否则可以删除从表的数据可以随便删除8. 外键约束 - 多对多关系(foreign key):
多对多可以拆解成两个一对多的关系多表关系:
一对一: 很少用,因为一对一的话则可以合并成一张表 一对多/多对一: 例如学生和班级,一个班级对应多个学生 多对多: 例如学生和课程,一个学生对应多个课程,一个课程对应多个学生