技术文摘
MySQL 外键基础知识介绍
2025-01-14 21:18:21 小编
MySQL 外键基础知识介绍
在MySQL数据库中,外键是一个重要的概念,它对于维护数据的完整性和建立表与表之间的关联起着关键作用。
外键是一个表中的字段,它的值必须与另一个表中主键的值相匹配,或者为NULL。这另一个表被称为主表,包含外键的表被称为从表。通过外键,我们可以确保从表中的相关数据与主表中的数据保持一致。
例如,有两个表,一个是“学生”表,包含学生的基本信息,其中“学生ID”是主键;另一个是“成绩”表,记录学生的考试成绩,“学生ID”在这个表中就是外键。“成绩”表中的“学生ID”必须在“学生”表的“学生ID”中存在,这样就能保证每条成绩记录都对应着一个真实存在的学生。
创建外键的语法并不复杂。在创建表时,可以直接定义外键约束。比如:
CREATE TABLE 成绩 (
成绩ID INT PRIMARY KEY AUTO_INCREMENT,
学生ID INT,
课程ID INT,
分数 DECIMAL(5, 2),
FOREIGN KEY (学生ID) REFERENCES 学生(学生ID)
);
在这个例子中,通过“FOREIGN KEY (学生ID) REFERENCES 学生(学生ID)”定义了“成绩”表中的“学生ID”为外键,它引用了“学生”表中的“学生ID”。
也可以在已有的表上添加外键约束:
ALTER TABLE 成绩
ADD CONSTRAINT fk_学生ID
FOREIGN KEY (学生ID) REFERENCES 学生(学生ID);
这里“fk_学生ID”是外键约束的名称,方便后续管理和引用。
外键的存在对数据操作有一定影响。当在主表中删除或更新一条记录时,如果从表中有相关的外键引用,默认情况下会导致操作失败,以防止数据不一致。不过,可以通过设置“ON DELETE”和“ON UPDATE”选项来定义不同的行为,比如“CASCADE”(级联操作,主表删除或更新时,从表相关记录也会被删除或更新)、“SET NULL”(主表操作时,从表相关外键设为NULL)等。
掌握MySQL外键基础知识,有助于设计出更合理、数据一致性更高的数据库结构,提高数据管理的效率和可靠性。
- Debian11 系统挂起的方法及详解
- Ubuntu 21.10 等旧版升级至 Ubuntu 22.04 LTS 的操作指南
- 如何隐藏 vmware10 虚拟机的菜单工具栏
- 在 conda 环境下于 ubuntu 20.04 的 jupyter 中添加和删除内核的办法
- 鸿蒙设置闹钟跳过节假日的方法
- 如何实现两部鸿蒙系统手机互联及开启服务流转推荐的技巧
- Ubuntu 壁纸更换方法及设置个人照片为桌面的技巧
- 虚拟机增加磁盘空间后 SWAP 分区无法挂载如何处理
- 虚拟网无法获取 vmci 驱动程序的解决办法
- 在 Ubuntu 20.04 LTS 中安装 Elgg 的方法
- 手机升级鸿蒙后总自动重启的解决之道
- 鸿蒙系统镜子 APP 测肤使用教程
- Ubuntu 系统日期与时间的设置方法及技巧
- 外接程序 VMDebugger 未能加载或导致异常的解决办法
- VMware 11 虚拟机如何创建快照