MySQL数据库——基础(三):约束

本文详细介绍了MySQL中的各种约束,如非空、唯一、主键、默认、检查和外键,以及它们如何确保数据的正确性、有效性和一致性。还提供了添加和管理外键约束的实例和操作方式。
摘要由CSDN通过智能技术生成

 基础篇主要内容:MySQL概述、SQL语句、函数、约束、多表查询、事务。

约束(constraint)

一、概述

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

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

约束保证了数据库中数据的正确性、有效性和完整性。

常见的约束有:非空约束(not null)、唯一约束(unique)、主键约束(primary key)、默认约束(default)、检查约束(check)、外键约束(foreign key)

二、各种约束实例

注意:

主键约束(primary key)一张表只能设置一个主键,主键的特点是非空且唯一;

数据自增(auto_increment) 一张表只能设置一个数据自增的字段。

三、外键约束(foreign key)

外键用来使两张表的数据之间建立联系。对于外键约束关系来说,被引用的表称为‘父表’‘主表’,引用外键的表称为‘子表’‘从表’。主表的关联字段受到子表的约束,不能轻易删除,从而保证了数据的一致性和完整性。

添加外键

法一:创建表时
create table 表名(
···
constraint 外键名称 foreign key 外键字段名 references 主表(主表列名);
);

法二:单独添加
alter table  表名   add constraint 外键名称    foreign key (外键字段名)  references 主表(主表列名);

删除外键

alter table 表名 drop foreign key 外键名称;

外键约束下的删除、更新操作

no action / restrict(默认)

默认行为:当在父表中删除或更新对应记录时,首先检查该记录是否有对应外键,如果有则不允许删除或更新。

cascade

语法:alter table 表名 constraint 外键名 foreign key(外键字段名)references主表(主表列名)①on update cascade ②on delete cascade;

当在父表中删除或更新对应记录时,首先检查该记录是否有对应外键,如果有则子表数据跟着父表发生相应删除或更新。

set null

语法:alter table 表名 constraint 外键名 foreign key(外键字段名)references主表(主表列名)①on update set null ②on delete set null;

当在父表中删除对应记录时,首先检查该记录是否有对应外键,如果有则继续删除该记录且将对应外键设置为null。

set default

当在父表中删除对应记录时,首先检查该记录是否有对应外键,如果有则继续删除该记录且将对应外键设置为默认值。( innodb不支持 )

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值