MySQL で列名を取得する
 
このチュートリアルでは、MySQL データベース内の特定のテーブルの列名をフェッチする方法を探ることを目的としています。
一般に、MySQL でデータを操作している間、データベースの特定のテーブルの列の名前とさまざまな列のデータ型を忘れがちです。
MySQL は、この情報をフェッチして、手元にある正しい定義と名前の情報を読み取ったり、フェッチしたり、更新したり、削除したりするのに役立ちます。この仕事を成し遂げるにはいくつかの方法があります。
以下は、MySQL で特定のテーブルの列名を取得するために使用できるさまざまなメソッドです。
- DESCRIBEステートメントを使用します。
- SHOWステートメントを使用します。
これらの方法のそれぞれがどのように機能するかを理解しましょう。
始める前に、作業するダミーデータセットを作成します。いくつかの行とともに、テーブル student_information を作成します。
-- create the table student_information
CREATE TABLE student_information(
  stu_id int,
  stu_firstName varchar(255) DEFAULT NULL,
  stu_lastName varchar(255) DEFAULT NULL,
  primary key(stu_id)
);
-- insert rows to the table student_information
INSERT INTO student_information(stu_id,stu_firstName,stu_lastName) 
 VALUES(1,"Preet","Sanghavi"),
 (2,"Rich","John"),
 (3,"Veron","Brow"),
 (4,"Geo","Jos"),
 (5,"Hash","Shah"),
 (6,"Sachin","Parker"),
 (7,"David","Miller");
MySQL で列名を取得するには、Describe ステートメントを使用する
MySQL は、特定のテーブルに関連する情報を取得するための DESCRIBE ステートメントを提供します。DESC または Describe はどちらも、テーブルの全体的な構造を理解するのに役立ちます。この情報には、列名、データ型、デフォルト値、列型などが含まれます。
このステートメントの基本的な構文は、次のように説明できます。
DESCRIBE name_of_the_table;
DESCRIBE ステートメントを使用する別の方法は次のとおりです。
DESC name_of_the_table;
次に、このステートメントを使用して、student_information テーブルのすべての列の名前を取得しましょう。この操作は、次のクエリで実行できます。
DESCRIBE student_information;
上記のクエリの出力は次のようになります。
Field			Type			Null		Key		Default		Extra
stu_id			float			NO			PRI		-			-
stu_firstName	varchar(255)	YES			-		-			-
stu_lastName	varchar(255)	YES			-		-			-
上記のように、Field、Type、Null、Key、Default、および Extra があります。
Field は、student_information の列の名前を示します。Type は、各列のデータ型を示します。
Null は、列の値が null 値を取得できるかどうかを示します。Key は、列名に関連付けられているキーのタイプを示します。
ご覧のとおり、stu_id はテーブルの主キーを表す PRI を示しています。最後に、列に設定されたデフォルト値を示す DEFAULT があり、Extra は列に関連付けられた追加情報を格納します。
MySQL で列名を取得するには、Show ステートメントを使用する
Show ステートメントは、Describe ステートメントの代替です。show ステートメントの基本的な構文は次のとおりです。
SHOW COLUMNS FROM `name_of_the_table`;
ここで、name_of_the_table は、フェッチされた列を含むテーブル名を表します。次のように show ステートメントを使用して、student_information テーブルからすべての列の名前を取得できます。
SHOW COLUMNS FROM `student_information`;
上記のクエリを出力すると、次の結果が得られます。
Field			Type			Null		Key		Default		Extra
stu_id			float			NO			PRI		-			-
stu_firstName	varchar(255)	YES			-		-			-
stu_lastName	varchar(255)	YES			-		-			-
上記の出力が示すように、SHOW と DESCRIBE は、テーブルの列の名前やその他の有用な情報を取得するのに役立ちます。したがって、上記の手法を使用すると、MySQL のテーブルの列名を効率的に取得できます。
