19

mysqlのテーブルに列名/フィールド名が存在する場合にデータベースを検索する方法はありますか?

4

4 に答える 4

21

INFORMATION_SCHEMAデータベースとそのテーブルを使用します。

例:

    SELECT *
FROM   information_schema.columns
WHERE  table_schema = 'MY_DATABASE'
       AND column_name IN ( 'MY_COLUMN_NAME' );  
于 2012-04-11T06:38:21.330 に答える
6

データベース全体を検索したい場合は、試してみてください

SELECT * 
FROM information_schema.COLUMNS 
WHERE 
    TABLE_SCHEMA = 'db_name' 
AND COLUMN_NAME = 'column_name'

また、特定のテーブルを検索する場合は、試してみてください。

SELECT * 
FROM information_schema.COLUMNS 
WHERE 
    TABLE_SCHEMA = 'db_name' 
AND TABLE_NAME = 'table_name' 
AND COLUMN_NAME = 'column_name'
于 2012-04-11T06:48:22.133 に答える
6
SHOW COLUMNS FROM tablename LIKE 'columnname'

楽しんで !:-)

アップデート:

コメントで述べたように、これはデータベース全体(すべてのテーブル)ではなく、1つのテーブルのみを検索します。その場合は、DhruvPathakの回答を参照してください。

于 2012-04-11T06:40:32.807 に答える
1

2つ以上の列を検索する場合は、以下の項目を使用してください。

 SELECT DISTINCT TABLE_NAME 
        FROM INFORMATION_SCHEMA.COLUMNS
        WHERE COLUMN_NAME IN ('columnA','ColumnB')
            AND TABLE_SCHEMA='YourDatabase';
于 2015-01-09T12:20:20.927 に答える