如何在 SQL 中添加外键

2024 年 8 月 29 日 | 4 分钟阅读

在本文中,我们将学习如何在 SQL 数据库的表中为列添加外键。

SQL 中的外键用于连接数据库中两个表中的记录。在一个表中定义为外键的列必须是同一数据库中另一个表的主键。

我们可以通过以下两种方式轻松地为列添加外键:

  1. 使用 CREATE TABLE 语句添加外键
  2. 使用 ALTER TABLE 语句添加外键

如果要将外键添加到 SQL 表的列中,您必须按照给定的顺序执行以下步骤:

  1. 在系统中创建数据库。
  2. 在同一个数据库中创建两个表。
  3. 在外键添加之前查看表结构。
  4. 将外键添加到表中。
  5. 查看表结构。

现在,我们将通过一个例子来解释上述步骤

步骤 1:创建数据库

在结构化查询语言中,创建数据库是存储数据库中结构化表的第一步。

使用以下 SQL 语法创建数据库

假设您想创建 Vehicles 数据库。为此,您需要在结构化查询语言中键入以下命令:

步骤 2:在数据库中创建两个表

现在,您需要使用以下 SQL 语法在数据库中创建表:

以下 SQL 查询将在 Vehicles 数据库中创建 Cars_Details 表。

以下查询将在 Vehicles 数据库中创建 Cars_Price_Details 表:

步骤 3:在外键添加之前查看表结构

创建表并插入数据后,您可以通过在 SQL 应用程序中键入以下查询来查看两个表的结构:


字段类型NULL默认额外
Car_NumberINTPRINULLauto_increment
模型INT是的-NULL-
Car_NameVarchar(20)是的-NULL
颜色Varchar(20)是的-NULL-


字段类型NULL默认额外
Car_ModelINT不能PRINULL-
Car_PriceINT不能-NULL

步骤 4:将外键添加到表中的列

如果要再创建表时添加外键,则必须在 SQL 中使用以下 CREATE TABLE 语法:

示例

以下查询在 Cars_Details 表的 'Model' 列上添加了 FOREIGN KEY。

此 SQL 查询通过外键连接 Cars_Details 表和 Cars_Price_Details 表。

步骤 5:在外键添加后查看表结构

要检查 第 4 步 中执行的查询结果,您必须在 SQL 中键入以下 DESC 命令:


字段类型NULL默认额外
Car_NumberINT是的PRIMARYNULLauto_increment
模型INT不能FOREIGNNULL-
Car_NameVarchar(20)是的-NULL-
颜色Varchar(20)是的-NULL-
价格INT-NULL-
平均数INT-0-

如上输出所示,Model 列被创建为外键。

将外键添加到现有表中

如果要将外键添加到现有表中,则必须在 SQL 中使用以下 ALTER 语法:

以下查询在 Cars_Details 表已存在于数据库系统中时,将 FOREIGN KEY 添加到 Model 列。

此 SQL ALTER 查询通过外键连接 Cars_Details 表和 Cars_Price_Details 表。

从表中删除外键

如果要从表列中删除外键,则必须在 SQL 中使用以下 ALTER 语法:

以下查询从 Cars_Details 表的 Model 列中删除创建的外键。