Fremdschlüsselinformationen in SQL abrufen
Das Verständnis der Fremdschlüsselabhängigkeiten ist für die Datenbankschemaverwaltung von entscheidender Bedeutung. SQL bietet eine einfache Methode zum Extrahieren dieser Informationen mithilfe der information_schema
Datenbankmetadatentabellen.
Um alle einer bestimmten Tabelle zugeordneten Fremdschlüssel aufzulisten, verwenden Sie diese Abfrage:
<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>
Ersetzen Sie 'myschema'
und 'mytable'
durch die gewünschten Schema- bzw. Tabellennamen.
Um alle Tabellen zu finden, die auf eine bestimmte Tabelle als Fremdschlüssel verweisen, passen Sie einfach die WHERE
-Klausel an:
<code class="language-sql">WHERE tc.constraint_type = 'FOREIGN KEY' AND ccu.table_schema = 'myschema' AND ccu.table_name = 'mytable';</code>
Diese überarbeitete Abfrage gibt alle Tabellen zurück, die mytable
in myschema
als Fremdschlüssel verwenden.
Das obige ist der detaillierte Inhalt vonWie kann ich Fremdschlüsselbeziehungen in SQL abfragen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!