数据库-MySQL-基础(8)-约束
【摘要】 概述 1、概念:约束是作用于表中字段上的规则,用于限制存储表中的数据2、目的:保证数据库中数据的正确、有效性和完整性3、分类:4、注意: 约束是作用表中字段上的,可以在创建表 / 修改表时候添加约束 约束演示案例:根据需求完成表结构的创建代码create table user( id int primary key auto_increment, name varchar(10...
概述
1、概念:约束是作用于表中字段上的规则,用于限制存储表中的数据
2、目的:保证数据库中数据的正确、有效性和完整性
3、分类:
4、注意: 约束是作用表中字段上的,可以在创建表 / 修改表时候添加约束
约束演示
案例:根据需求完成表结构的创建
代码
外键约束
概念
外键用来让俩张表的数据之间建立联系,从而保证数据的一致性和完整性。
创建表代码
注意:目前上述的俩张表,在数据库层面并未建立外键关联,无法保证数据的一致性和完整性 的。
语法
添加外键
CREATE TABLE 表名(
字段名 数据类型,
...
[CONSTRAINT] [外键名称] FOREIGN KEY(外键字段名)REFERENCES 主表(主表列名)
);
ALTER TABLE 表名 ADD CONSTRAINT 外键名称 FOREIGN KEY(外键字段名) REFERENCES 主表(主表列名);
代码案例(接上面的例子)
当你添加外键了以后如果删除一个表,比如上面案例中出现的1号部门,那么程序就会报错,提示你有外键存在
删除/更新行为
ALTER TABLE 表名 ADD CONSTRAINT 外键名称 FOREIGN KEY(外键字段) REFERENCES 主表名(主表字段名) ON UPDATE CASCADE ON DELETE CASCADE;
案例:
使用cascade
如果删除上面dept部门1表之后,emp表会变成这样
使用set null
如果删除上面dept部门1表之后,emp表会变成这样
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)