MySQLでテーブルのカラム名(列名)を確認する方法|SHOW COLUMNSとinformation_schemaの使い方
MySQLでテーブルに含まれるカラム名(列名)を調べたい場合、SHOW COLUMNS文またはINFORMATION_SCHEMA.COLUMNSテーブルを使用する方法が一般的です。この記事では、両方の方法をサンプルコードとともにわかりやすく解説します。
検証用テーブルの作成
まず、動作確認用として以下のようなサンプルテーブルを作成します。
mysql> create table DemoTable603
(
ClientId int NOT NULL AUTO_INCREMENT,
ClientName varchar(100),
ClientAge int,
ClientAddress varchar(100),
ClientCountryName varchar(100),
ClientEducationDetails varchar(200),
PRIMARY KEY(ClientId)
);
Query OK, 0 rows affected (0.59 sec)顧客ID、氏名、年齢、住所、国名、学歴情報を持つテーブル「DemoTable603」を作成しました。それでは、このテーブルのカラム名を取得してみましょう。
方法1:SHOW COLUMNSを使う
最も手軽な方法は、SHOW COLUMNS文を実行することです。
mysql> SHOW COLUMNS FROM DemoTable603;
実行すると、以下のようにカラムの一覧が出力されます。
+------------------------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +------------------------+--------------+------+-----+---------+----------------+ | ClientId | int(11) | NO | PRI | NULL | auto_increment | | ClientName | varchar(100) | YES | | NULL | | | ClientAge | int(11) | YES | | NULL | | | ClientAddress | varchar(100) | YES | | NULL | | | ClientCountryName | varchar(100) | YES | | NULL | | | ClientEducationDetails | varchar(200) | YES | | NULL | | +------------------------+--------------+------+-----+---------+----------------+ 6 rows in set (0.00 sec)
この方法では、カラム名だけでなく、データ型(Type)、NULL許可(Null)、キー情報(Key)、デフォルト値(Default)、自動採番などの追加属性(Extra)も同時に確認できるのがメリットです。
方法2:information_schema.columnsを使う
より柔軟に条件を絞り込みたい場合は、INFORMATION_SCHEMA.COLUMNSテーブルに対してSELECT文を実行します。
mysql> select column_name from information_schema.columns
where table_schema='web' and table_name='DemoTable603';実行結果は以下のとおりです。
+------------------------+ | COLUMN_NAME | +------------------------+ | ClientAddress | | ClientAge | | ClientCountryName | | ClientEducationDetails | | ClientId | | ClientName | +------------------------+ 6 rows in set (0.00 sec)
それぞれの方法の使い分け
- SHOW COLUMNS: カラム名と型情報などをまとめて手軽に確認したい場合に便利です。
- information_schema.columns: データベース名やテーブル名をWHERE句で指定でき、結果をソートしたり、他のクエリと組み合わせたりできるため、プログラムから動的にスキーマ情報を取得したい場合に適しています。
用途に応じて、これら2つの方法を使い分けるとよいでしょう。
-
MySQLで特定のカラム名を持つテーブルを検索する方法
MySQLで特定のカラム名(列名)を持つテーブルを探したい場合は、システムビューである information_schema.columns を利用します。このビューにはデータベース内のすべてのテーブルとカラムの情報が格納されているため、条件を指定して検索するだけで、目的のカラムを持つテーブルを簡単に特定できます。 基本構文 カラム名からテーブル名を検索する際の基本的な構文は以下の通りです。 select distinct table_name from information_schema.columns where column_name like %yourSearchValue% a
-
MySQLで列の最大値を取得する方法をわかりやすく解説
MySQLで特定の列の最大値を取得するには、MAX(columnName)関数を使用します。本記事では、その基本的な使い方に加えて、データベースやテーブルの設計に関する前提知識もあわせて解説します。MySQLのデータベースとテーブルの基礎MySQLをインストールする前に、まず使用するバージョンと配布形式(バイナリファイルか、ソースファイルからビルドするか)を決定することが重要です。新しく作成したばかりのデータベースには、当然ながらテーブルはまだ存在しません。データベース設計において最も重要なのは、以下の要素を決めることです。データベース全体の構造必要となるテーブルの一覧各テーブルに含まれる列(