MySQLでテーブルのすべてのフィールド(カラム)を表示する方法
MySQLで特定のテーブルに含まれるすべてのフィールド(カラム)名を確認したい場合、information_schema.columns テーブルを利用する方法が便利です。table_schema にデータベース名、table_name に対象のテーブル名を指定することで、そのテーブルの全フィールドを一覧表示できます。
基本の構文
以下の構文を使うことで、指定したテーブルのすべてのカラム名を取得できます。
select column_name as anyAliasName from information_schema.columns where table_schema=database() and table_name='yourTableName'\G
database() 関数は現在接続中のデータベース名を返すため、table_schema=database() と記述すれば、現在使っているデータベース内のテーブルが自動的に対象になります。また、末尾の \G を付けることで、結果が縦方向に整形されて読みやすくなります。
サンプルテーブルの作成
まず、動作確認用のテーブルを作成しましょう。
mysql> create table DemoTable1938 ( StudentId int, StudentName varchar(20), StudentAge int, StudentCountryName varchar(20), StudentMobileNumber bigint ); Query OK, 0 rows affected (0.00 sec)
このテーブルには、学生ID・氏名・年齢・国名・電話番号の5つのカラムが定義されています。
すべてのフィールドを表示するクエリ
それでは、作成したテーブルの全フィールド名を表示してみます。column_name に別名「ALL_FIELDS」を付けて取得しています。
mysql> select column_name as ALL_FIELDS from information_schema.columns where table_schema=database() and table_name='DemoTable1938'\G
実行結果
*************************** 1. row *************************** ALL_FIELDS: StudentId *************************** 2. row *************************** ALL_FIELDS: StudentName *************************** 3. row *************************** ALL_FIELDS: StudentAge *************************** 4. row *************************** ALL_FIELDS: StudentCountryName *************************** 5. row *************************** ALL_FIELDS: StudentMobileNumber 5 rows in set (0.00 sec)
このように、テーブルに定義された5つのカラム名がすべて表示されました。
補足:より手軽な代替コマンド
information_schema を使わなくても、次のコマンドでも同様にカラム情報を確認できます。
DESCRIBE テーブル名;— カラム名、データ型、NULL許可、キー、デフォルト値などが一覧表示されます。SHOW COLUMNS FROM テーブル名;— DESCRIBE と同等の出力が得られます。SHOW CREATE TABLE テーブル名;— テーブル定義全体をCREATE文の形式で確認できます。
単純にカラム一覧だけが必要な場合は DESCRIBE が手軽ですが、スクリプトやアプリケーションからプログラム的にカラム名のみを抽出したいケースでは、information_schema を参照する方法が柔軟でおすすめです。
-
MySQLでテーブル内のNULLまたはNULL以外のフィールドを一括更新する方法
はじめにMySQLでは、IS NULL 演算子や IS NOT NULL 演算子を WHERE 句と組み合わせることで、テーブル内の NULL 値または NULL 以外の値が含まれるレコードを条件として、複数のフィールドをまとめて更新できます。本記事では、具体的なサンプルを使ってその手順をわかりやすく解説します。サンプルテーブルの作成まず、動作確認用のテーブルを作成しましょう。mysql> create table DemoTable -> ( -> Id int, -> Name varchar(20) -> );Query OK, 0
-
Javaを使用してMySQLテーブルの値を表示する方法
MySQLデータベースのテーブル値をJavaで表示するには、ResultSetの概念を利用します。データベースへの接続には、MySQL JDBCドライバーを使用します。テーブルの作成まず、サンプル用のテーブルを作成しましょう。mysql> create table demo87 -> ( -> name varchar(20), -> age int -> )