您的位置:首页 > 健康 > 美食 > 06、MySQL-约束

06、MySQL-约束

2024/12/23 5:22:49 来源:https://blog.csdn.net/nibabaoo/article/details/140986485  浏览:    关键词:06、MySQL-约束

目录

1、非空约束

2、唯一约束

3、主键约束

 4、默认约束

5、检查约束 

6、外键约束


 

概念:约束是作用于表中字段上的规则,用于限制存储在表中的数据
目的:保证数据库中数据的正确、有效性和完整性

1、非空约束

限制该字段的数据不能为null 。关键字:NOT NULL

2、唯一约束

保证该字段的所有数据都是唯一的、不重复的。关键字:UNIQUE

3、主键约束

主键是一行数据的唯一标识,要求非空且唯一。关键字:PRIMARY KEY

 4、默认约束

保存数据时,如果未指定该字段的值 则采用默认值。关键字:DEFAULT

5、检查约束 

保证字段值满足某一个条件。CHECK

案例:创建一张表

字段说明类型要求
id唯一标识int类型主键并且自动增长
name姓名varchar(10) 不为空且唯一 
age年龄int 大于0并且小于等于120
status状态char(1)  如果没有指定该值 默认为1
gender性别char(1)
create table staff(id int primary key auto_increment comment '主键',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 '性别') comment '员工表'

6、外键约束

概念:用来让两张表的数据之间建立连接 保证数据的一致性和完整性 FOREIGN KEY

1、添加外键:

  1. create table 表名 (...[constraint [外键名称] foreign key(外键字段名) reffrences 主表(主表列名))
  2. alter table 表名 add constraint 外键名称 foreign key(外键字段名) references 主表(主表列名)

2、删除外键

  1. alter table staff drop foreign key fk_staff_dept_id

3、删除/更新行为

  1. NO ACTION    当在父表中删除/更新对应记录时 首先检查该记录是否有对应外键,如果有则不允许删除/更新。(与 RESTRICT 一致)
  2. RESTRICT     当在父表中删除/更新对应记录时 首先检查该记录是否有对应外键,如果有则不允许删除/更新。(与 NO ACTION 一致)
  3. CASCADE      当在父表中删除/更新对应记录时 首先检查该记录是否有对应外键,如果有,则也删除/更新外键在子表中的记录。
  4. SET NULL     当在父表中删除对应记录时,首先检查该记录是否有对应外键,如果有则设置子表中该外键值为null(这就要求该外键允许取nul)。
  5. SET DEFAULT  父表有变更时,子表将外键列设置成一个默认的值(Innodb不支持)

4、语法

  1. alter table staff add constraint fk_staff_dept_id foreign key (dept_id) references dept(id) on update cascade on delete cascade

版权声明:

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

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