MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

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 を参照する方法が柔軟でおすすめです。

  1. MySQLでテーブル内のNULLまたはNULL以外のフィールドを一括更新する方法

    はじめにMySQLでは、IS NULL 演算子や IS NOT NULL 演算子を WHERE 句と組み合わせることで、テーブル内の NULL 値または NULL 以外の値が含まれるレコードを条件として、複数のフィールドをまとめて更新できます。本記事では、具体的なサンプルを使ってその手順をわかりやすく解説します。サンプルテーブルの作成まず、動作確認用のテーブルを作成しましょう。mysql> create table DemoTable -> ( -> Id int, -> Name varchar(20) -> );Query OK, 0

  2. Javaを使用してMySQLテーブルの値を表示する方法

    MySQLデータベースのテーブル値をJavaで表示するには、ResultSetの概念を利用します。データベースへの接続には、MySQL JDBCドライバーを使用します。テーブルの作成まず、サンプル用のテーブルを作成しましょう。mysql> create table demo87    -> (    -> name varchar(20),    -> age int    -> )