mysql怎么查外键关联
时间 : 2023-03-13 06:53:02声明: : 文章内容来自网络,不保证准确性,请自行甄别信息有效性
在MySQL中查找表之间的外键关联很简单,可以使用以下两个命令:
1. 查看外键约束的名称
```sql
SHOW CREATE TABLE 表名;
该命令将返回表的创建语句。当有外键约束时,它将在语句中声明。可以从这个声明中找到外键的名称和引用表的名称。
例如:
```sql
SHOW CREATE TABLE customer_order;
输出:
```sql
CREATE TABLE `customer_order` (
`order_id` int(11) NOT NULL,
`customer_id` int(11) NOT NULL,
`order_date` date NOT NULL,
PRIMARY KEY (`order_id`),
KEY `fk_customer_id` (`customer_id`),
CONSTRAINT `fk_customer_id` FOREIGN KEY (`customer_id`) REFERENCES `customer` (`customer_id`)
)
在这个输出结果中,`fk_customer_id` 是外键的名称,`customer` 是引用表的名称。
2. 查看外键的详细信息
```sql
SELECT
CONSTRAINT_NAME,
TABLE_NAME,
COLUMN_NAME,
REFERENCED_TABLE_NAME,
REFERENCED_COLUMN_NAME
FROM
INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE
REFERENCED_TABLE_NAME = '引用表名';
该命令将列出所有引用指定引用表的外键的详细信息。
例如:
```sql
SELECT
CONSTRAINT_NAME,
TABLE_NAME,
COLUMN_NAME,
REFERENCED_TABLE_NAME,
REFERENCED_COLUMN_NAME
FROM
INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE
REFERENCED_TABLE_NAME = 'customer';
输出:
```sql
+----------------+---------------+---------------+----------------------+-----------------------+
| CONSTRAINT_NAME| TABLE_NAME | COLUMN_NAME | REFERENCED_TABLE_NAME| REFERENCED_COLUMN_NAME|
+----------------+---------------+---------------+----------------------+-----------------------+
| fk_customer_id | customer_order| customer_id | customer | customer_id |
+----------------+---------------+---------------+----------------------+-----------------------+
在这个输出结果中,`fk_customer_id` 是外键的名称,`customer_order` 是指定表,`customer_id` 是指定表中的外键列,`customer` 是引用表,`customer_id` 是引用表中的关联列。
总之,这两个命令可以帮助你在MySQL中查找表之间的外键关联。
在MySQL中,可以通过以下方式来查看外键的关联:
1. 使用 SHOW CREATE TABLE 命令查看表的建表语句,其中包含外键的定义。
例如,要查看名为 student 的表的外键定义,可以使用以下命令:
SHOW CREATE TABLE student;
这将返回一个包含表构造语句的结果集,其中包含外键定义。可以在结果集中搜索 FOREIGN KEY 关键字来查找外键定义。
2. 使用 INFORMATION_SCHEMA 系统数据库的表查询,查找所有外键关联。
可以使用以下命令来查找 student 表中所有外键关联:
SELECT
CONSTRAINT_NAME,
COLUMN_NAME,
REFERENCED_TABLE_NAME,
REFERENCED_COLUMN_NAME
FROM
INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE
TABLE_NAME = 'student' AND
REFERENCED_TABLE_NAME IS NOT NULL;
此命令将返回表 student 中所有外键关联的详细信息,包括外键名称、关联列、引用的表和列。
3. 使用 SHOW TABLE STATUS 命令查看表的状态,其中包含外键的信息。
例如,要查看名为 student 的表的状态,可以使用以下命令:
SHOW TABLE STATUS LIKE 'student';
此命令将返回一个包含表状态信息的结果集,其中包含外键信息。可以在结果集中搜索 FOREIGN KEY 关键字来查找外键信息。
综上所述, MySQL 中可以通过以上三种方式来查看外键关联。其中,使用 INFORMATION_SCHEMA 系统数据库的表查询可以查找到更详细的外键信息。
上一篇
服务器怎么删除mysql
下一篇
mysql激活码怎么使用
https/SSL证书广告优选IDC>>
推荐主题模板更多>>
推荐文章