Maison > base de données > tutoriel mysql > Comment puis-je interroger les relations de clés étrangères dans SQL ?

Comment puis-je interroger les relations de clés étrangères dans SQL ?

DDD
Libérer: 2025-01-16 22:25:41
original
222 Les gens l'ont consulté

How Can I Query Foreign Key Relationships in SQL?

Récupération des informations de clé étrangère en SQL

Comprendre les dépendances des clés étrangères est crucial pour la gestion des schémas de bases de données. SQL fournit une méthode simple pour extraire ces informations à l'aide des information_schema tables de métadonnées de la base de données.

Pour lister toutes les clés étrangères associées à une table spécifique, utilisez cette requête :

<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>
Copier après la connexion

Remplacez 'myschema' et 'mytable' par les noms de schéma et de table souhaités, respectivement.

Pour trouver toutes les tables référençant une table donnée comme clé étrangère, ajustez simplement la clause WHERE :

<code class="language-sql">WHERE tc.constraint_type = 'FOREIGN KEY'
    AND ccu.table_schema = 'myschema'
    AND ccu.table_name = 'mytable';</code>
Copier après la connexion

Cette requête révisée renverra toutes les tables qui utilisent mytable dans myschema comme clé étrangère.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal