约束
1.概念:约束是作用于表中字段上的规则,用于限制存储在表中的数据。
2.目的:保证数据库中数据的正确、有效性和完整性
3.分类
注意:
①约束是作用于表中字段上的,可以在创建表\修改表的时候添加约束,一个字段可以添加多个约束。
②主键值在约束为UNIQUE的sql添加语句报错时,仍会自增1,从而导致主键值断层。
③check约束括号内是判断式子。
④default后面接默认值,类型与字段相同。
外键约束
1.概念:外键用来让两张表的数据之间建立连接,从而保证数据的一致性和完整性。
2.主表和从表:对于两个具有关联关系的表而言,相关联字段中主键所在的表就是主表(父表),外键所在的表就是从表(子表)。
注意:只有在建立外键关联的时候,才会保证数据的一致性和完整性。
3.添加外键的语法
#添加外键
CREATE TABLE 表名(
字段名 类型数据,
……
[CONSTRAINT] [外键名称] FOREIGN KEY (外键字段名) REFERENCES 主表 (主表名)
); #在建表的时候添加外键约束
ALTER TABLE 表名 ADD CONSTRAINT 外键名称 FORENGIN KEY (外键字段名) REFERENCES 主表 (主表名);
#建完表之后添加外键约束
#删除外键
ALTER TABLE 表名 DROP FORENGIN KEY 外键名称;
外键约束的删除和更新
#外键约束的删除与更新行为
ALTER TABLE 表名 ADD CONSTRAINT 外键名称 FOREIGN KEY (外键字段) REFERENCES 主表名 (主表字段名)
ON UPDATE CASCADE ON DELETE CASCADE;
注意:
① UPDATE与DELETE后的CASCADE表示更新或者删除外键时遵循的规则,即行为。
② UPDATE和DELETE后的行为可以是不同的