主键约束(primary key) • 每个表中只能有一个主键 • 主键值须非空不重复 • 可设置单字段主键,也可设置多字段联合主键 联合主键中多个字段的取值完全相同时,才违反主键约束 • 添加主键约束: 列级添加主键约束:create table ( primary key,…… ); 表级添加主键约束:create table ( ,...... ,[constraint 主键约束名] primary key(字段名1[,字段名2,...字段名n]));
唯一约束(unique) • 指定字段的取值不能重复,可以为空,但只能出现一个空值 • 添加唯一约束: 列级添加唯一约束:create table ( unique,…… ); 表级添加唯一约束:create table ( ,[constraint 唯一约束名] unique (字段名1[,字段名2...字段名n])); 自动增长列(auto_increment) • 指定字段的取值自动生成,默认从1开始,每增加一条记录,该字段的取值会加1 • 只适用于整数型,配合主键一起使用 • 创建自动增长约束:create table ( primary key auto_increment,…… );
非空约束(not null) • 字段的值不能为空 • 创建非空约束:create table ( not null,…… ); 默认约束(default) • 如果新插入一条记录时没有为该字段赋值,系统会自动为这个字段赋值为默认约束设定的值 • 创建默认约束:create table ( default value,…… ); 外键约束(foreign key) 在一张表中执行数据插入、更新、删除等操作时,DBMS都会跟另一张表进行对照,避免不规范的操作,以确保数据存储的完整性。 • 某一表中某字段的值依赖于另一张表中某字段的值 • 主键所在的表为主表,外键所在的表为从表 • 每一个外键值必须与另一个表中的主键值相对应 • 创建外键约束:create table ( ,…… ,[constraint 外键约束名] foreign key(字段名) references (主键字段));