Maison >base de données >tutoriel mysql >Comment trouver des tables MySQL contenant des colonnes spécifiques ?
Recherche de tables avec des colonnes spécifiques dans MySQL
Si vous travaillez avec une grande base de données MySQL et que vous devez identifier toutes les tables contenant des colonnes, il existe une méthode efficace pour accomplir cette tâche.
Pour y parvenir, vous pouvez utiliser une requête SQL qui examine les colonnes Table INFORMATION_SCHEMA.COLUMNS. Ce tableau fournit des informations sur toutes les colonnes de toutes les tables de la base de données.
Requête pour rechercher des tables
La requête SQL suivante récupérera tous les distincts noms de tables de la base de données dont les colonnes correspondent aux noms de colonnes spécifiés :
SELECT DISTINCT TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME IN ('<columnA>', '<columnB>') AND TABLE_SCHEMA='<database_name>';
Dans ce requête :
Par exemple, si vous souhaitez trouver toutes les tables qui ont les colonnes « âge » ou « nom » dans la base de données « utilisateurs », vous utiliseriez :
SELECT DISTINCT TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME IN ('age', 'name') AND TABLE_SCHEMA='users';
Cette requête renverra une liste de toutes les tables de la base de données "utilisateurs" qui contiennent les colonnes "âge" ou "nom".
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!