技术文摘
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 中主键和外键的设置方法,能让数据库设计更加科学合理,为数据管理和应用开发打下坚实基础。
- Windows Server 2019 关机重启的原因及解决办法(关闭事件跟踪程序)
- Docker 中 MySQL 的简便安装部署与远程连接配置
- Docker 中查看正在运行容器的方法
- 解决 Docker Start 启动容器后仍为 Exit 状态的问题
- Elasticsearch 与 Kibana 密码的设置办法
- Docker 日志查询与输出至文件的办法
- Docker 容器内无法访问外网的原因与解决措施
- Docker Compose 部署 EMQX 集群示例
- Docker 容器中 /etc/hosts 文件的修改办法
- Windows Server 中利用 Bitlocker 驱动器加密保护磁盘数据
- 阿里云 SSL 证书到期后导入新证书的流程
- nerdctl 取代 docker 及 docker-compose 的安装与使用
- Docker 中部署 Mino 及挂载配置文件的项目实践
- 解决 docker run hello-world 错误消息 - error during conne 问题
- Docker 容器连接宿主机 Redis 和 MySQL 的配置攻略