如何在 MySQL 中设置外键?(mysql怎么设置外键)

MySQL是一种开放源代码的关系型数据库管理系统,它可以在多种平台上运行,比如Linux,UNIX及Windows等。在MySQL中,用户可以设置外键,从而实现一个表中连接到另一个表。本文将介绍如何在MySQL中设置外键,包括以下内容:CREATE TABLE语句;ALTER TABLE语句;CREATE INDEX语句;显式定义外键约束。

#### 1. CREATE TABLE 语句

在MySQL中,创建外键时,必须先在要设置外键的表中使用CREATE TABLE语句创建表,语法如下:

“`mysql

CREATE TABLE table_name

(

column_name1 datatype [NULL | NOT NULL],

column_name2 datatype [NULL | NOT NULL],

column_nameN datatype [NULL | NOT NULL],

PRIMARY KEY(column_name)

);


这里的```table_name```代表要创建的表的名称;```column_name```代表表中的每一列的名称;```datatype```代表每一列的数据类型。

#### 2. ALTER TABLE 语句

当表已经建好之后,就可以使用ALTER TABLE语句来添加外键约束了,语法如下:

```mysql
ALTER TABLE table_name
ADD CONSTRAINT constraint_name FOREIGN KEY (column_name1)
REFERENCES table2_name (column_name2);

这里的“`table_name“`代表要添加外键约束的表,“`constraint_name“`代表外键约束,“`column_name1“`代表要引用的外键名称,“`table2_name“`代表外键表的名称,“`column_name2“`代表外键表中要引用的字段名称。

#### 3. CREATE INDEX 语句

在添加外键约束之前,可以在表中使用CREATE INDEX语句为外键列创建索引,语法如下:

“`mysql

CREATE INDEX index_name ON table_name (column_name);


这里的```index_name```代表索引的名称,```table_name```代表要创建索引的表,而```column_name```代表要指定的列。

#### 4. 显式定义外键约束

如果希望更加明确的定义外键,还可以使用CONSTRAINT语句显式定义外键约束,语法如下:

```mysql
ALTER TABLE table_name
ADD CONSTRAINT constraint_name
FOREIGN KEY (column_name1)
REFERENCES table2_name (column_name2)
ON DELETE/UPDATE action;

这里的“`constraint_name“`代表外键约束,“`column_name1“`代表要引用的外键名称,“`table2_name“`代表外键表的名称,“`column_name2“`代表外键表中要引用的字段名称,而“`action“`代表删除或更新的操作(可以是Cascade,Restrict,No Action,Set NULL,Set Default等)。

以上是如何在MySQL中设置外键的详细步骤,可以使用CREATE TABLE、ALTER TABLE、CREATE INDEX和CONSTRAINT等语句按照相应的步骤设置外键,从而在数据库中实现表与表之间的连接。


数据运维技术 » 如何在 MySQL 中设置外键?(mysql怎么设置外键)