在 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中文網其他相關文章!