技术文摘
SQL 中如何设置主键和外键
2025-01-14 18:43:34 小编
SQL 中如何设置主键和外键
在 SQL 数据库管理中,设置主键和外键是构建数据完整性和关系模型的关键步骤。它们不仅能确保数据的准确性,还能提升数据库的性能和可用性。
主键是表中的一个或多个字段,用于唯一标识表中的每一行记录。它具备唯一性和非空性,即表中的任何两条记录主键值不能相同,且主键字段不能为 NULL。在创建表时,可以直接定义主键。例如,创建一个学生表 students,其中 student_id 作为主键:
CREATE TABLE students (
student_id INT PRIMARY KEY,
student_name VARCHAR(50),
age INT
);
如果表已经创建,可以使用 ALTER TABLE 语句添加主键:
ALTER TABLE students
ADD PRIMARY KEY (student_id);
外键则用于建立两个表之间的关联关系,它的值必须引用另一个表中主键的值或者为 NULL。以学生表和成绩表为例,成绩表中的 student_id 应该是指向学生表 student_id 的外键。创建成绩表 scores 并设置外键:
CREATE TABLE scores (
score_id INT PRIMARY KEY,
student_id INT,
subject_score INT,
FOREIGN KEY (student_id) REFERENCES students(student_id)
);
若成绩表已创建,使用 ALTER TABLE 添加外键:
ALTER TABLE scores
ADD FOREIGN KEY (student_id) REFERENCES students(student_id);
在实际应用中,正确设置主键和外键至关重要。主键确保了表中数据的唯一性,方便数据的查找、更新和删除操作。外键则维护了不同表之间的数据一致性,当主表中的数据发生变化时,关联的从表数据也能相应地受到约束。比如,若要删除学生表中的某条记录,由于成绩表中的 student_id 是外键,会阻止删除操作,防止出现孤立的成绩记录。只有先删除成绩表中相关记录,才能删除学生表中的对应记录,这保证了数据的完整性。掌握 SQL 中主键和外键的设置方法,能让数据库设计更加科学合理,为数据管理和应用开发打下坚实基础。
- Lodash 已死?Lodash 5 去向何方?
- Python 控制流程之条件、循环与异常处理
- 低版本 Spring 中自动配置功能的实现之道
- 线程类型与线程优化使用的深度解析
- Java 线程与 CPU 调度的共话时刻
- 数据结构的分类与特点:优缺点解析
- 备忘录模式:对象状态的留存与回滚
- Golang 自定义函数类型深度解析
- SpringBoot 助力动态管理定时任务:告别硬编码,实现增删启停
- Java 项目:服务调用超时与连接池配置不当致服务不可用
- SELinux 助力 Linux 系统安全强化
- .Net 虚拟机(CLR/JIT)的加密原理与版权保护
- TypeScript 高级用法万字精析
- C++文件读取与写入实例深度剖析
- WorkBox 底层逻辑之 Service Worker