MySQL 建表 外键的实现

作为一名经验丰富的开发者,我将帮助你了解如何在 MySQL 数据库中建立外键。以下是整个流程的步骤和每一步所需的代码。

流程步骤

步骤 描述
1. 创建主表 创建一个含有主键的表
2. 创建从表 创建一个含有外键的表
3. 添加外键 将外键添加到从表中

现在,让我们一步一步地看看每个步骤需要做什么,并为每个步骤提供相应的代码。

1. 创建主表

首先,我们需要创建一个主表,并为其定义一个主键。下面是一个示例代码:

CREATE TABLE `users` (
  `id` INT(11) NOT NULL AUTO_INCREMENT,
  `name` VARCHAR(255) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

代码解释:

  • CREATE TABLE 用于创建一个新的表。
  • users 是表的名称。
  • id 是主键列的名称,INT(11) 表示这是一个整数类型的列,长度为 11。
  • name 是一个非空的字符串列。
  • PRIMARY KEY 定义了主键,将 id 列作为主键。

2. 创建从表

接下来,我们需要创建一个从表,并为其定义一个外键。下面是一个示例代码:

CREATE TABLE `orders` (
  `id` INT(11) NOT NULL AUTO_INCREMENT,
  `user_id` INT(11) NOT NULL,
  `product` VARCHAR(255) NOT NULL,
  PRIMARY KEY (`id`),
  CONSTRAINT `fk_orders_users` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

代码解释:

  • CREATE TABLE 用于创建一个新的表。
  • orders 是表的名称。
  • id 是主键列的名称,INT(11) 表示这是一个整数类型的列,长度为 11。
  • user_id 是一个非空的整数列,用于存储外键。
  • product 是一个非空的字符串列。
  • PRIMARY KEY 定义了主键,将 id 列作为主键。
  • CONSTRAINT 定义了外键的约束。
  • fk_orders_users 是外键的名称,可以自定义。
  • FOREIGN KEY 定义了外键的列名,REFERENCES 定义了该外键引用的主表和主键列。

3. 添加外键

最后,我们需要向从表中添加外键。下面是一个示例代码:

ALTER TABLE `orders` ADD CONSTRAINT `fk_orders_users` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`);

代码解释:

  • ALTER TABLE 用于向现有表添加约束。
  • orders 是表的名称。
  • fk_orders_users 是外键的名称,必须与之前创建的外键名称相同。
  • FOREIGN KEY 定义了外键的列名,REFERENCES 定义了该外键引用的主表和主键列。

以上就是在 MySQL 数据库中建立外键的完整过程。通过遵循这些步骤,并使用相应的代码,你可以成功实现建表和添加外键。

希望这篇文章对你有所帮助!