含义:一种限制,用于限制表中的数据 ,为了保证表中的数据的准确和可靠性。
分类:六大约束
not null 非空,用于保证该字段的值不能为空
default:默认,用于保证该字段有默认值
primary key :主键,用于保证该字段的值具有唯一性,并且非空
unique 唯一,用于保证该字段的值具有唯一性,可以为空
check 检查约束
foreign key 外键,用于限制两个表的关系,用于保证该字段的值必须来自于主表的关联列的值,在从表添加外键约束,用于引用主表中某列的值
创建表时添加约束
1.添加列级约束
添加表级约束
在各个字段的最下面
constraint 约束名 约束类型
主键和唯一键之间的区别
主键和唯一性都保证了唯一性
主键不允许为空,唯一可以
主键最多一个,唯一可以有多个
主键可以组合,唯一可以组合
外键:
1.要求在从表设置外键关系
2.从表的外键列的类型和主表的关联列的类型要求一致或者兼容,名称没有要求。
3.主表的关联列必须是一个key(一般是主键或者唯一)
4.插入数据的时候,先插入主表,再插入从表,删除数据的时候,先删除从表,再删除主表
修改表时添加约束
1.添加列级约束
alter table 表名 modify column 字段名 字段类型 新约束;
2.添加表级约束
alter table 表名 add{constraint 约束名} 约束类型(字段名);