📅  最后修改于: 2023-12-03 15:35:14.056000             🧑  作者: Mango
在关系型数据库中,外键是一个关系之间的指针,用于连接两个表。使用外键可以实现以下目的:
在 SQL 中,使用以下语句可以获取外键:
SELECT
tc.table_name,
kcu.column_name,
ccu.table_name AS foreign_table_name,
ccu.column_name AS foreign_column_name
FROM
information_schema.table_constraints AS tc
JOIN information_schema.key_column_usage AS kcu
ON tc.constraint_name = kcu.constraint_name
JOIN information_schema.constraint_column_usage AS ccu
ON ccu.constraint_name = tc.constraint_name
WHERE
constraint_type = 'FOREIGN KEY'
AND tc.table_name='<table_name>';
这个查询语句将返回指定表的外键信息。具体的,返回的结果包括:
例如,如果要查询一个名为 "orders" 的表的外键信息,可以使用以下 SQL 语句:
SELECT
tc.table_name,
kcu.column_name,
ccu.table_name AS foreign_table_name,
ccu.column_name AS foreign_column_name
FROM
information_schema.table_constraints AS tc
JOIN information_schema.key_column_usage AS kcu
ON tc.constraint_name = kcu.constraint_name
JOIN information_schema.constraint_column_usage AS ccu
ON ccu.constraint_name = tc.constraint_name
WHERE
constraint_type = 'FOREIGN KEY'
AND tc.table_name='orders';
以上查询语句将返回表 "orders" 的外键信息。
总之,使用 SQL 查询语句可以很容易地获取到指定表的外键信息。这对于开发人员在重构和优化数据库结构时是非常有用的。