Maison >base de données >tutoriel mysql >Comment trouver des relations de clés étrangères pour une table donnée en SQL ?
Comprendre les clés étrangères associées à une table spécifique est essentiel pour maintenir l'intégrité des données et comprendre les relations dans la base de données. Voici comment récupérer les informations de clé étrangère à l'aide de SQL :
information_schema
La base de données fournit un aperçu des métadonnées de la base de données, y compris les relations de clé étrangère. Vous pouvez exploiter les tableaux table_constraints
, key_column_usage
et constraint_column_usage
pour extraire les informations dont vous avez besoin.
Pour lister toutes les clés étrangères d'une table donnée, vous pouvez utiliser la requête suivante :
<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='<table_schema>' AND tc.table_name='<table_name>';</code>
Remplacez <table_schema>
et <table_name>
par le schéma et la table réels pour lesquels vous souhaitez récupérer les informations de clé étrangère.
Si vous devez déterminer quelle table utiliser comme table étrangère, modifiez les deux dernières conditions de la requête comme suit :
<code class="language-sql"> AND ccu.table_schema='<table_schema>' AND ccu.table_name='<table_name>';</code>
Cette requête vous donnera une liste détaillée de toutes les clés étrangères pour une table donnée et leurs informations associées.
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!