Mysql--05

📅 发布时间:2026/7/11 7:29:53 👁️ 浏览次数:
Mysql--05
一.约束1.约束作用于表中字段的规则限制储存在表中的数据2.目的是保证数据库中数据的正确性有效性完整性。约束作用在字段上可以在创建表修改表时添加3.分类表格约束描述关键字非空约束限制该字段的数据不能为 nullnot null唯一约束保证该字段的所有数据都是唯一、不重复的unique主键约束主键是一行数据的唯一标识要求非空且唯一primary key默认约束保存数据时如果未指定该字段的值则采用默认值default检查约束保证字段值满足某一个条件8.0.16 版本之后check外键约束用来让两张表的数据之间建立连接保证数据的一致性和完整性foreign key二.外键约束1.添加外键sqlCREATE TABLE 表名( 字段名 数据类型, ... [CONSTRAINT] [外键名称] FOREIGN KEY(外键字段名) REFERENCES 主表(主表列名) );sqlALTER TABLE 表名 ADD CONSTRAINT 外键名称 FOREIGN KEY(外键字段名) REFERENCES 主表(主表列名);删除外键sqlALTER TABLE 表名 DROP FOREIGN KEY 外键名称;2.删除/更性行为表格行为说明no action当在父表中删除 / 更新对应记录时首先检查该记录是否有对应外键如果有则不允许删除 / 更新。与 restrict 一致restrict当在父表中删除 / 更新对应记录时首先检查该记录是否有对应外键如果有则不允许删除 / 更新。与 no action 一致cascade当在父表中删除 / 更新对应记录时首先检查该记录是否有对应外键如果有则也删除 / 更新外键在子表中的记录。set null当在父表中删除对应记录时首先检查该记录是否有对应外键如果有则设置子表中该外键值为 null这就要求该外键允许取 null。set default父表有变更时子表将外键列设置成一个默认的值 (innodb 不支持)sqlALTER TABLE 表名 ADD CONSTRAINT 外键名称 FOREIGN KEY (外键字段) REFERENCES 主表名 (主表字段名) ON UPDATE CASCADE ON DELETE CASCADE;