🗒️Python MySQL数据库6—表关系
00 分钟
2024-8-19
2024-8-22
type
status
date
slug
summary
tags
category
icon
password

表关系

在开发项目时,需要根据业务需求去创建很多表结构,以此来实现业务逻辑,一般表结构有三类:
notion image
 
 

(1)外键约束

notion image
在MySQL中,外键约束(Foreign Key Constraint)用于在两个表之间创建链接,确保引用完整性。外键约束规定一个表中的值必须来自另一个表,通常用于确保数据的一致性和完整性。

创建外键约束的语法

外键约束通常在创建表时定义,也可以在表创建后通过ALTER TABLE语句添加。

在创建表时定义外键

示例

假设我们有两个表:departmentsemployees,其中 employees 表中的 department_id 是一个外键,引用 departments 表的 id 列。

在已有表上添加外键

如果已经创建了表,可以使用ALTER TABLE添加外键约束。

示例

外键约束的选项

外键约束可以使用以下选项来定义在删除或更新父表中记录时的行为:
  • ON DELETE CASCADE: 当删除父表中的一行时,自动删除子表中与之关联的所有行。
  • ON DELETE SET NULL: 当删除父表中的一行时,将子表中与之关联的外键列设置为NULL
  • ON DELETE RESTRICT: 阻止删除父表中的行,除非没有与之关联的子表行(默认行为)。
  • ON UPDATE CASCADE: 当父表中被引用的列更新时,相应地更新子表中的外键列。
  • ON UPDATE SET NULL: 当父表中被引用的列更新时,将子表中与之关联的外键列设置为NULL

示例

这种设置确保了在departments表中的记录被删除或更新时,employees表中对应的记录也会相应地删除或更新。
 

(2)增加外键约束

notion image
 
 
 
notion image
notion image

案例:简易版视频教学网站

表结构
notion image
 
 
 

打赏

如果您觉得我的内容对你有所帮助,不要吝啬你的一键三连!如果你有能力的话也可以通过下面请我喝杯咖啡~金额您随意~如果对文章内容有任何疑问,欢迎加入群组联系我~
notion image
上一篇
Python MySQL数据库5—必备SQL知识
下一篇
Python MySQL数据库7—授权