[Mysql] Mysql的多表查询----多表关系(下)

4、操作

方式二:创建表之后设置外键约束

外键约束也可以在修改表时添加,但是添加外键约束的前提是:从表中外键列中的数据必须与主表中主键列中的数据一致或者是没有数据。

语法:

alter table <从表名> add constraint <外键名> foreign key (<列名>) references <主表名> (<列名>);

创建主表:

创建从表:

创建外键约束:

5、数据插入

注意:当主表和从表有外键约束是,给主表和从表添加数据时,必须先给主表添加数据。

(1)给主表添加数据

(2)给从表添加数据

注意:注意给从表添加数据时,外键列的值不能随便写,必须依赖主表的主键列--即:外键列中的值只能是主键列上的值。

6、删除数据

注意:

(1)主表的数据被从表依赖时(即:主列中的值在外列中的值出现)时,不能删除,否则可以删除。

(2)从表的数据可以随便删除。

例如:

1、

2、

注意:删除表时,只能先删除从表,再删除主表。

7、删除外检约束

当一个表不需要外键约束时,就需要从表将其删除。外键一旦删除,就会解除主表和从表间的关联关系。

格式:

alter table <从表名> drop foreign key <外键约束名> ;

实现:

相关推荐
你想考研啊3 小时前
oracle导出 导入
数据库·oracle
韩立学长4 小时前
基于Springboot的旧时月历史论坛4099k6s9(程序、源码、数据库、调试部署方案及开发环境)系统界面展示及获取方式置于文档末尾,可供参考。
数据库·spring boot·后端
TDengine (老段)5 小时前
TDengine 字符串函数 CONCAT_WS 用户手册
android·大数据·数据库·时序数据库·tdengine·涛思数据
IT 小阿姨(数据库)6 小时前
PostgreSQL 之上的开源时序数据库 TimescaleDB 详解
运维·数据库·sql·postgresql·开源·centos·时序数据库
颜大哦6 小时前
linux安装mysql
linux·运维·mysql·adb
熊文豪7 小时前
openEuler 云原生实战:部署高性能 Redis 集群与压测分析
数据库·redis·云原生·openeuler
GTgiantech7 小时前
科普SFP 封装光模块教程
服务器·网络·数据库
深圳市恒讯科技7 小时前
如何在服务器上安装和配置数据库(如MySQL)?
服务器·数据库·mysql
言之。7 小时前
TiDB分布式数据库技术架构概述
数据库·分布式·tidb
万事大吉CC8 小时前
SQL表设计与约束教程
数据库·sql