如何在 MySQL 中使用 ALTER 添加外键
在本文中,我们将讨论外键的概述,并将逐步讨论如何在 MySQL 中使用 ALTER 添加外键。让我们一一讨论。
外键:
如果一个属性在一个表中是主键,但在另一个表中没有用作主键,那么在另一个表中不是主键的属性称为外键。如果在任何表中进行了更改或操作了任何数据,则借助外键约束,更改会反映在两个表中。
在 MySQL 中使用 ALTER 添加外键的步骤:
下面让我们看看如何将student表中的主键student的属性作为外键添加到另一个表考试中,如下所示。
步骤 1:创建数据库大学:
在这里,您将看到如何在 MySQL 中创建数据库,如下所示。
CREATE DATABASE university;
输出 :
步骤 2:使用数据库大学:
在这里,您将看到如何使用您已经创建的现有数据库,如下所示。
USE university;
输出 :
步骤 3:创建表学生:
在这里,您将看到如何在 MySQL 中创建表,如下所示。
CREATE TABLE student
(
student_id INT PRIMARY KEY,
student_name varchar,
student_branch varchar
);
输出 :
步骤 4:查看表的描述:
在这里,您将看到如何验证该表,如下所示。
DESCRIBE student;
输出 :
在这里,正如您在描述中看到的,student_id 的键列是PRI ,这意味着它是该表 student 中的主键。Field Type Null Key Default Extra student_id int NO PRI NULL student_name varchar(20) YES NULL student_branch varchar(20) YES NULL
第 5 步:创建另一个表格考试:
在这一步中,您将看到多一张表以供参考。
CREATE TABLE exam
(
exam_id INT PRIMARY KEY,
exam_name varchar(20)
);
输出 :
步骤 6:查看表的描述:
在此步骤中,您可以验证您创建的表。
DESCRIBE exam;
输出 :Field Type Null Key Default Extra exam_id int NO PRI NULL exam_name varchar(20) YES NULL
步骤 7:将另一列 student_id 添加到考试表中:
在这里,您将看到如何将另一列 student_id 添加到考试表中,如下所示。
ALTER TABLE exam
ADD COLUMN student_id INT;
输出 :
步骤 8:制作外键:
在这里,您将看到如何使学生表中的主键考试表中的 student_id 属性外键如下所示。
句法 -
ALTER TABLE table_name
ADD FOREIGN KEY (column_name)
REFERENCE table_name(Referencing column_name in table_name);
询问 -
ALTER TABLE exam
ADD FOREIGN KEY(student_id)
REFERENCES student(student_id);
输出 :
步骤 9:验证考试表:
在这里,您将看到考试表的描述如下。
DESCRIBE exam;
输出 :
现在,正如您在表考试的描述中看到的那样,又添加了一个列 student_id 并且在描述的 Key 列中, student_id 具有MUL ,这意味着它是一个外键。Field Type Null Key Default Extra exam_id int NO PRI NULL exam_name varchar(20) YES NULL student_id int YES MUL NULL