カラム名/フィールド名がmysqlのテーブルに存在する場合、データベースを検索する方法はありますか?カラム名/フィールド名がmySQLのテーブルに存在するかどうかを検索する
15
A
答えて
18
は、INFORMATION_SCHEMAデータベースとそのテーブルを使用します。
例:
SELECT *
FROM information_schema.columns
WHERE table_schema = 'MY_DATABASE'
AND column_name IN ('MY_COLUMN_NAME');
6
SHOW COLUMNS FROM tablename LIKE 'columnname'
は楽しみを持っています! :-)
はUPDATE:
コメントで述べたように、これは一つだけのテーブルではなく、データベース全体(すべてのテーブル)を検索します。その場合、DhruvPathakの答えを参照してください。
+2
これはデータベース全体ではなく1つのテーブルを検索するだけです。 – DhruvPathak
+2
えええええええええええええええええ、私は特定の列が特定のテーブルにある場合は、質問を理解していた! – Stefan
6
データベース全体で検索する場合は、あなたは
SELECT *
FROM information_schema.COLUMNS
WHERE
TABLE_SCHEMA = 'db_name'
AND COLUMN_NAME = 'column_name'
を試してみてくださいそして、あなたは、特定のテーブルで検索したい場合は、2を検索したい場合、あなたは
SELECT *
FROM information_schema.COLUMNS
WHERE
TABLE_SCHEMA = 'db_name'
AND TABLE_NAME = 'table_name'
AND COLUMN_NAME = 'column_name'
1
を試してみてください以下のカラムを使用してください。
SELECT DISTINCT TABLE_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME IN ('columnA','ColumnB')
AND TABLE_SCHEMA='YourDatabase';
の
可能重複[その中の特定の列名とMySQLですべてのテーブルを見つけるには?](http://stackoverflow.com/questions/193780/how-to-find-all-the-tables -in-mysql-with-specific-column-names-in-them) – dayuloli