ホームページ >データベース >mysql チュートリアル >SQL で特定の名前に一致する列を含むテーブルを検索する方法

SQL で特定の名前に一致する列を含むテーブルを検索する方法

Susan Sarandon
Susan Sarandonオリジナル
2025-01-20 00:41:09322ブラウズ

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

指定された名前の列を含むテーブルを検索します

データベース内のテーブルには、特定の名前を持つ列が含まれています。特定の名前の列を含むすべてのテーブルを検索するのに役立ちます。このクエリを使用すると、次のテーブルを識別できます:

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>

手順:

このクエリは、sys.columns テーブルと sys.tables テーブルを結合して、指定された名前 ('MyName') に一致する列名 (c.name) とテーブル名 (TableName) を検索します。 SCHEMA_NAME 関数は、TableName の結果にスキーマ名を含めるために使用されます。複数の一致する列を含むテーブルは、TableNameColumnName で並べ替えることで簡単に識別できます。

拡張機能:

sys.tables テーブルを 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>

以上がSQL で特定の名前に一致する列を含むテーブルを検索する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。