技术文摘
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外键基础知识,有助于设计出更合理、数据一致性更高的数据库结构,提高数据管理的效率和可靠性。
- 昨日,我完全明晰 Netty 内存分配策略!
- PyWeChatSpy 实现微信拍一拍自动回复
- Github 标星 113K 的前端学习路线图已推出中文版,太厉害!
- 为何众多人不推荐 C++ ?
- GitHub 获超 3 万星:Transformer 3 登场,BERT 一分为二
- JavaScript 面试:66 条知识点与答案解析,由浅入深
- 20 个必藏的 Vue 开源库
- Java 中的异常及其处理探讨
- Golang:常见的三个编程问题
- Spring Boot 项目的极致瘦身攻略
- 超级网络间谍的狡黠至极
- Spring Boot 与 Spring Cloud 应用启动流程的必知要点
- 多年写代码,此种登录方式首次见!
- 一篇读懂 Java 集合框架
- 讲清项目中消息中间件(MQ)的使用及选择缘由