如何在 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语句显式定义外键约束,语法如下:
```mysqlALTER 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等语句按照相应的步骤设置外键,从而在数据库中实现表与表之间的连接。