您的位置:首页 > 财经 > 金融 > 会议管理系统_专业的国内网站建设公司_图片搜索引擎_北京云无限优化

会议管理系统_专业的国内网站建设公司_图片搜索引擎_北京云无限优化

2024/12/23 6:21:54 来源:https://blog.csdn.net/zhaoyang_m/article/details/143704457  浏览:    关键词:会议管理系统_专业的国内网站建设公司_图片搜索引擎_北京云无限优化
会议管理系统_专业的国内网站建设公司_图片搜索引擎_北京云无限优化

4. 约束

4.1 概述

概念:约束是作用于表中字段上的规则,用于限制存储在表中的数据。

目的:保证数据库中数据的正确、有效性和完整性。

 注意:约束是作用于表中字段上的,可以在创建表/修改表的时候添加约束。

 4.2 约束演示

CREATE TABLE tb_user(id int AUTO_INCREMENT PRIMARY KEY COMMENT 'ID唯一标识',name varchar(10) NOT NULL UNIQUE COMMENT '姓名' ,age int check (age > 0 && age <= 120) COMMENT '年龄' ,status char(1) default '1' COMMENT '状态',gender char(1) COMMENT '性别'
);

 4.3 外键约束

 4.3.1 介绍

外键:用来让两张表的数据之间建立连接,从而保证数据的一致性和完整性。

 4.3.2 语法

1). 添加外键

CREATE TABLE 表名(字段名 数据类型,...[CONSTRAINT] [外键名称] FOREIGN KEY (外键字段名) REFERENCES 主表 (主表列名)
);
ALTER TABLE 表名 ADD CONSTRAINT 外键名称 FOREIGN KEY (外键字段名) REFERENCES 
主表 (主表列名);

2). 删除外键

ALTER TABLE 表名 DROP FOREIGN KEY 外键名称;

4.3.3 删除/更新行为

添加了外键之后,再删除父表数据时产生的约束行为,我们就称为删除/更新行为。

ALTER TABLE 表名 ADD CONSTRAINT 外键名称 FOREIGN KEY (外键字段) REFERENCES 
主表名 (主表字段名) ON UPDATE CASCADE ON DELETE CASCADE;

演示如下: 

1). CASCADE

alter table emp add constraint fk_emp_dept_id foreign key (dept_id) 
references dept(id) on update cascade on delete cascade ;

A. 修改父表id为1的记录,将id修改为6

原来在子表中dept_id值为1的记录,现在也变为6了,这就是cascade级联的效果。

在一般的业务系统中,不会修改一张表的主键值

B. 删除父表id为6的记录

父表的数据删除成功了,但是子表中关联的记录也被级联删除了。

2). SET NULL

A. 删除id为1的数据

父表的记录是可以正常的删除的,父表的数据删除之后,再打开子表 emp,我们发现子表emp原来dept_id为1的数据,都被置为NULL了。

 这就是SET NULL这种删除/更新行为的效果。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com