📜  如何在 MySQL 中使用 ALTER 添加外键

📅  最后修改于: 2022-05-13 01:55:47.700000             🧑  作者: Mango

如何在 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 中的主键。

FieldTypeNullKeyDefaultExtra
student_idint NOPRINULL 
student_namevarchar(20)YES NULL 
student_branchvarchar(20)YES NULL 

第 5 步:创建另一个表格考试:
在这一步中,您将看到多一张表以供参考。

CREATE TABLE exam
 (
    exam_id INT PRIMARY KEY,
    exam_name varchar(20)
 );

输出 :

步骤 6:查看表的描述:
在此步骤中,您可以验证您创建的表。

DESCRIBE exam;

输出 :

FieldTypeNullKeyDefaultExtra
exam_idint NOPRINULL 
exam_namevarchar(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 ,这意味着它是一个外键。

FieldTypeNullKeyDefaultExtra
exam_idint NOPRINULL 
exam_namevarchar(20)YES NULL 
student_idintYESMULNULL