在 SQL 中检索外键信息
了解外键依赖关系对于数据库模式管理至关重要。 SQL 提供了一种使用 information_schema
数据库元数据表提取此信息的简单方法。
要列出与特定表关联的所有外键,请使用以下查询:
<code class="language-sql">SELECT tc.table_schema, tc.constraint_name, tc.table_name, kcu.column_name, ccu.table_schema AS foreign_table_schema, 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 AND tc.table_schema = kcu.table_schema JOIN information_schema.constraint_column_usage AS ccu ON ccu.constraint_name = tc.constraint_name WHERE tc.constraint_type = 'FOREIGN KEY' AND tc.table_schema = 'myschema' AND tc.table_name = 'mytable';</code>
分别将 'myschema'
和 'mytable'
替换为您所需的架构和表名称。
要查找引用给定表作为外键的所有表,只需调整 WHERE
子句:
<code class="language-sql">WHERE tc.constraint_type = 'FOREIGN KEY' AND ccu.table_schema = 'myschema' AND ccu.table_name = 'mytable';</code>
此修改后的查询将返回使用 mytable
中的 myschema
作为外键的所有表。
以上是如何在SQL中查询外键关系?的详细内容。更多信息请关注PHP中文网其他相关文章!