mysql中怎么加外键
时间 : 2023-03-18 11:02:01声明: : 文章内容来自网络,不保证准确性,请自行甄别信息有效性
MySQL 中添加外键可以在创建表的时候或者已经创建好的表上进行操作,下面我将为您详细介绍两种情况下的操作方法。
创建表时添加外键
在创建表时添加外键需要使用 `FOREIGN KEY` 关键字,其语法如下:
CREATE TABLE table_name(
column1 datatype constraint,
column2 datatype constraint,
…
FOREIGN KEY (column_name) REFERENCES foreign_table_name (column_name)
);
其中,`column_name` 是当前表中的列名,`foreign_table_name` 是被引用的表名,`REFERENCES` 是关键字,它引用了被引用表中的 `column_name` 的值,这个值将会匹配到当前表中的 `column_name` 列。同时,`FOREIGN KEY` 后面是一对圆括号,其中是定义外键所依赖的列名,如果有多个,则用逗号隔开。
例如,我们创建一个学生表和一个课程表,学生表中有一个学生 ID 列,课程表中有一个课程 ID 和一个学生 ID 列,那么我们可以这样创建课程表:
CREATE TABLE course (
course_id INT NOT NULL AUTO_INCREMENT,
course_name VARCHAR(100) NOT NULL,
student_id INT NOT NULL,
PRIMARY KEY(course_id),
FOREIGN KEY (student_id) REFERENCES student (student_id)
);
这样,我们就在课程表中添加了一个外键,它的值将会匹配到学生表中的学生 ID 列上。
已创建表上添加外键
假设我们已经在 MySQL 中创建了两张表,一个学生表和一个课程表,现在我们需要在课程表上添加一个外键,它所依赖的是学生表中的 student_id 列。MySQL 中可以通过 `ALTER TABLE` 语句来添加外键,其语法如下:
ALTER TABLE table_name
ADD FOREIGN KEY (column_name) REFERENCES foreign_table_name (column_name);
其中,`table_name` 表示要添加外键的表名,`column_name` 是当前表中的列名,`foreign_table_name` 是被引用的表名,`REFERENCES` 是关键字,它引用了被引用表中的 `column_name` 的值,这个值将会匹配到当前表中的 `column_name` 列。同时,`FOREIGN KEY` 后面也是一对圆括号,其中是定义外键所依赖的列名,如果有多个,则用逗号隔开。
例如,我们需要在课程表上添加一个外键,它所依赖的是学生表中的 student_id 列,那么我们可以这样添加外键:
ALTER TABLE course
ADD FOREIGN KEY (student_id) REFERENCES student (student_id);
这样,我们就在课程表上添加了一个外键,它的值将会匹配到学生表中的学生 ID 列上。
总结
MySQL 中添加外键需要使用 `FOREIGN KEY` 关键字,并在 `REFERENCES` 后面引用被引用表中的列名,它将匹配到当前表中的列名。同时,添加外键可以在创建表的时候进行,也可以在已创建好的表上进行,前者需要在创建表的时候使用 `FOREIGN KEY` 关键字,后者需要使用 `ALTER TABLE` 语句。
MySQL中加外键的操作分为两部分,分别是创建外键和删除外键。以下是具体的操作步骤:
1.创建外键
在MySQL中,我们使用ALTER TABLE语句加外键。
语法如下:
ALTER TABLE 表1 ADD FOREIGN KEY(字段1) REFERENCES 表2(字段2);
解释:
- 表1:需要添加外键的表名。
- 字段1:需要添加外键的字段名。
- 表2:作为外键参照的表名。
- 字段2:作为外键参照的字段名。
例如,我们要在表orders中添加外键order_customer_id,引用表customers中的字段id:
ALTER TABLE orders ADD FOREIGN KEY(order_customer_id) REFERENCES customers(id);
2.删除外键
我们同样使用ALTER TABLE语句删除外键。
语法如下:
ALTER TABLE 表1 DROP FOREIGN KEY 外键名;
解释:
- 表1:需要删除外键的表名。
- 外键名:需要删除的外键名。
例如,我们要删除表orders中的外键order_customer_id:
ALTER TABLE orders DROP FOREIGN KEY order_customer_id;
提示:
在创建外键时,需要保证被引用的表和字段都存在。否则将会出现错误。
在删除外键时,外键名可以在创建外键时指定,也可以通过查询系统表(如information_schema.key_column_usage)获取。
上一篇
电脑上的mysql怎么用
下一篇
用户名怎么连接mysql
https/SSL证书广告优选IDC>>
推荐主题模板更多>>
推荐文章