MySQL数据库 外键默认约束和action 基础知识【2】推荐

数据库就是储存和管理数据的仓库,对数据进行增删改查操作,其本质是一个软件。MySQL就是一种开源的关系型数库,也是最受欢迎的数据库之一,今天对MySQL数据的基础知识做了整理,方便自己查看,也欢迎正在学习MySQL数据库的同学参考,谢谢。

说明:

1.MySQL数据库相关数据表的增删改查数据库的增删改查以及  primary key 主键约束联合主键自动递增 auto_incrementunique 唯一约束非空约束 not null等基本知识请参考:

MySQL数据库入门基础知识 【1】推荐-CSDN博客

2.MySQL数据库安装配置连接:详细教程 MySQL 数据库 下载 安装 连接 环境配置 全面-CSDN博客


目录

1.外键约束

1.1外键的默认约束

1.2 外键操作 action 

1.2.1  restrict 严格模式

1.2.2 set null 置空操作

1.2.3 cascade 级联操作


1.外键约束

1.1外键的默认约束

如果一张表中的一个字段指向了另一张表中的主键,就将该字段称为外键,外键的数据类型必须和指向的主键一致,定义外键的表称为从表,被外键引用的表称为主表。

-- 外键约束
-- 如果一张表中的一个字段指向了另一张表中的主键,就将该字段称为外键
-- 外键的数据类型必须和指向的主键一致
-- 定义外键的表称为从表,被外键引用的表称为主表 

-- 主表
create table if not  exists users(
id int unsigned primary key auto_increment,
username varchar(20) not null
);
desc users;

--从表
create table if not  exists dynamic_1(
id int unsigned primary key auto_increment,
content varchar(220) not null,
user_id int unsigned,
foreign key(user_id) references users(id) 
);
desc dynamic_1;

两张表主表users和dynamic_1从表之间的关系

默认情况下主表users中删除一条已经和从表关联的数据是不被允许的。

主表想修改已经关联从表的数据id 也是不被允许的。

1.2 外键操作 action 

如果想要删除或者修改数据怎么处理?一般情况下都是主表删除从表置空,主表更新从表级联操作。

通过数据表右键设计表>外键 的删除和更新时的数据内容可以看到当前外键的约束方式。

1.2.1  restrict 严格模式
  1. 主表中不存在对应的数据,从表不允许添加
  2. 主表引用着数据(即和从表有关联数据),主表对应的数据不允许删除和修改
1.2.2 set null 置空操作

修改或删除主表 id 时,所有跟它关联的从表字段数据都会被置为null

1.2.3 cascade 级联操作

修改或删除主表 id 时,所有跟它关联的从表字段数据都会做同样的操作

现在我们把外键约束设置成级联操作了,下面是主表和从表对应的数据 

当我们修改主表的数据时,从表跟着一起变化了。

当我们删除主表的数据时,从表相应的字段数据也变成null了。

关于外键约束的内容完了。

MySQL数据的增删改查 where 条件查询基本知识请参考:MySQL数据的增删改查 where 条件查询 基础知识 【3】推荐-CSDN博客


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值