📅  最后修改于: 2023-12-03 15:06:55.872000             🧑  作者: Mango
在 MySQL 中,使用外键可以建立表之间的关联关系。在一个表中,如果需要引用另一个表的数据,可以使用外键来实现。本文将介绍如何使用外键添加列。
在创建外键之前,我们需要先创建两个相关的表。一个表将包含作为主键的课程 ID 和名称,另一个表将包含学生和他们所选课程的 ID。
-- 创建课程表
CREATE TABLE courses (
course_id INT PRIMARY KEY,
name VARCHAR(50)
);
-- 创建学生表
CREATE TABLE students (
student_id INT PRIMARY KEY,
name VARCHAR(50),
course_id INT,
FOREIGN KEY (course_id) REFERENCES courses(course_id)
);
在学生表中,我们添加了一个名为 course_id
的列,并将其作为外键,引用了课程表中的 course_id
列。这意味着,course_id
列中的值必须是课程表中已有的 course_id
的值。
现在我们可以向两个表中插入数据。首先向课程表中插入数据:
INSERT INTO courses (course_id, name) VALUES (1, 'Database Systems');
INSERT INTO courses (course_id, name) VALUES (2, 'Web Development');
INSERT INTO courses (course_id, name) VALUES (3, 'Data Science');
然后向学生表中插入数据,其中包含了选修的课程 ID:
INSERT INTO students (student_id, name, course_id) VALUES (1, 'Alice', 1);
INSERT INTO students (student_id, name, course_id) VALUES (2, 'Bob', 2);
INSERT INTO students (student_id, name, course_id) VALUES (3, 'Charlie', 3);
我们可以使用 JOIN
操作符将两个表连接起来,查看学生选修的课程名称:
SELECT students.name, courses.name AS course
FROM students
JOIN courses ON students.course_id = courses.course_id;
结果如下:
+---------+-------------------+
| name | course |
+---------+-------------------+
| Alice | Database Systems |
| Bob | Web Development |
| Charlie | Data Science |
+---------+-------------------+
在 MySQL 中,使用外键可以建立表之间的关联关系。在相应的列上添加外键约束后,确保该列只引用表中已存在的行。外键可用于执行关系型数据库中的多种操作,例如级联操作和引用完整性。了解和掌握外键的使用可以提高数据库的结构和性能。