MySQLで特定のカラム名を持つテーブルを検索する方法
MySQLで特定のカラム名(列名)を持つテーブルを探したい場合は、システムビューである information_schema.columns を利用します。このビューにはデータベース内のすべてのテーブルとカラムの情報が格納されているため、条件を指定して検索するだけで、目的のカラムを持つテーブルを簡単に特定できます。
基本構文
カラム名からテーブル名を検索する際の基本的な構文は以下の通りです。
select distinct table_name from information_schema.columns where column_name like '%yourSearchValue%' and table_schema=database();
各部分の意味は次のようになっています。
- column_name like '%yourSearchValue%':検索したいカラム名を部分一致(あいまい検索)で指定します。
- table_schema=database():現在接続しているデータベースのみを対象にします。
- distinct:同じテーブル名が重複して表示されるのを防ぎます。
実行例:「Client」というカラム名を持つテーブルを検索
ここでは、カラム名に「Client」という単語が含まれるテーブルをすべて検索してみましょう。
mysql> select distinct table_name
from information_schema.columns
where column_name like '%Client%'
and table_schema=database();
このクエリを実行すると、次のような結果が出力されます。
+----------------+ | table_name | +----------------+ | demotable449 | | demotable450 | | demotable461 | | demotable517 | | demotable529 | | demotable534 | | demotable537 | | demotable543 | | demotable547 | +----------------+ 9 rows in set (1.19 sec)
この結果から、現在のデータベース内に「Client」というカラム名を持つテーブルが9件存在することが確認できました。
検索結果の確認
最後に、検出されたテーブルのうち任意の一つを選び、実際に「Client」というカラム名が含まれているかどうかを確認しておきましょう。

このように information_schema.columns を活用すれば、大規模なデータベースでも目的のカラムを持つテーブルを素早く見つけることができます。
-
JavaでResultSetから列名を取得する方法!MySQLを使ったgetMetaData()の実装例を解説
ResultSetから列名を取得するには?getMetaData()メソッドの基本JavaでJDBCを使ってデータベース操作を行っていると、「検索結果(ResultSet)に含まれる列名(カラム名)を動的に知りたい」という場面によく出会います。そんなときに活躍するのが、getMetaData()メソッドです。このメソッドを呼び出すと、結果セットの構造情報(列の数や名前、型など)を持つResultSetMetaDataオブジェクトを取得できます。プロトタイプ宣言は以下のとおりです。ResultSetMetaData getMetaData() throws SQLException;サンプル用テ
-
MySQLで特定のカラムのデータをエクスポートする方法(INTO OUTFILEの使い方)
MySQLで特定のカラムのデータをエクスポートする方法 MySQLでテーブルから特定のカラム(列)のデータだけをファイルに書き出したい場合は、SELECT文とINTO OUTFILEを組み合わせるのが最もシンプルで確実な方法です。この記事では、実際にテーブルを作成し、データを投入したうえで、特定のカラムをテキストファイルへエクスポートする手順を順番に解説します。 基本構文 特定のカラムをファイルに出力する際の基本構文は次のとおりです。 select yourColumnName from yourTableName into outfile yourLocationOfFile; このように