Maison >base de données >tutoriel mysql >Comment rechercher des tables avec des colonnes correspondant à un nom spécifique en SQL ?

Comment rechercher des tables avec des colonnes correspondant à un nom spécifique en SQL ?

Susan Sarandon
Susan Sarandonoriginal
2025-01-20 00:41:09364parcourir

How to Find Tables with Columns Matching a Specific Name in SQL?

Trouver la table contenant la colonne avec le nom spécifié

Les tables d'une base de données contiennent des colonnes avec des noms spécifiques. Utile pour rechercher toutes les tables contenant une colonne avec un nom spécifique. Cette requête permet d'identifier ces tables :

Requête SQL :

<code class="language-sql">SELECT      c.name  AS 'ColumnName'
            ,(SCHEMA_NAME(t.schema_id) + '.' + t.name) AS 'TableName'
FROM        sys.columns c
JOIN        sys.tables  t   ON c.object_id = t.object_id
WHERE       c.name LIKE '%MyName%'
ORDER BY    TableName
            ,ColumnName;</code>

Instructions :

Cette requête rejoint les tables sys.columns et sys.tables pour trouver le nom de colonne (c.name) et le nom de table (TableName) qui correspondent au nom spécifié (« MyName »). La fonction SCHEMA_NAME est utilisée pour inclure le nom du schéma dans le résultat TableName. Les tableaux contenant plusieurs colonnes correspondantes peuvent être facilement identifiés en triant par TableName et ColumnName.

Fonctions étendues :

Vous pouvez également inclure des vues dans la recherche en remplaçant le tableau sys.tables par sys.objects :

<code class="language-sql">SELECT      COLUMN_NAME AS 'ColumnName'
            ,TABLE_NAME AS  'TableName'
FROM        INFORMATION_SCHEMA.COLUMNS
WHERE       COLUMN_NAME LIKE '%MyName%'
ORDER BY    TableName
            ,ColumnName;</code>

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!

Déclaration:
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