Heim > Datenbank > MySQL-Tutorial > Wie kann ich Fremdschlüsselbeziehungen in SQL abfragen?

Wie kann ich Fremdschlüsselbeziehungen in SQL abfragen?

DDD
Freigeben: 2025-01-16 22:25:41
Original
220 Leute haben es durchsucht

How Can I Query Foreign Key Relationships in SQL?

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage