LINEで現役エンジニアに直接質問してみよう!登録無料

MySQLでテーブルの構造を確認する(DESCRIBE & DESC)

テーブルのカラム情報を確認するには、「DESCRIBE」または「DESC」コマンドを使います。

mysql> DESCRIBE users;
+----------+--------------+------+-----+---------+-------+
| Field    | Type         | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+-------+
| id       | int          | YES  |     | NULL    |       |
| email    | varchar(255) | YES  |     | NULL    |       |
| password | varchar(255) | YES  |     | NULL    |       |
+----------+--------------+------+-----+---------+-------+
3 rows in set (0.02 sec)
mysql> DESC users;
+----------+--------------+------+-----+---------+-------+
| Field    | Type         | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+-------+
| id       | int          | YES  |     | NULL    |       |
| email    | varchar(255) | YES  |     | NULL    |       |
| password | varchar(255) | YES  |     | NULL    |       |
+----------+--------------+------+-----+---------+-------+
3 rows in set (0.01 sec)

DESCRIBE&DESCの基本

下記コマンドでテーブルのカラム情報を確認出来ます。

DESCRIBE テーブル名;
DESC テーブル名;

DESCRIBEを実行してみる

テーブルのカラム情報を確認するには、事前にテーブルを作成しておく必要があります。事前に下記の4操作を実行しましょう!

CREATE DATABASE sampleapp_development;
USE sampleapp_development;
CREATE TABLE users (id INT, email VARCHAR(255), password VARCHAR(255));

ここで初めてテーブルのカラム情報を確認できます。

mysql> DESCRIBE users;
+----------+--------------+------+-----+---------+-------+
| Field    | Type         | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+-------+
| id       | int          | YES  |     | NULL    |       |
| email    | varchar(255) | YES  |     | NULL    |       |
| password | varchar(255) | YES  |     | NULL    |       |
+----------+--------------+------+-----+---------+-------+
3 rows in set (0.02 sec)

DESCDESCRIBEと同じコマンドなので、このように同じ結果が得られます。

mysql> DESC users;
+----------+--------------+------+-----+---------+-------+
| Field    | Type         | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+-------+
| id       | int          | YES  |     | NULL    |       |
| email    | varchar(255) | YES  |     | NULL    |       |
| password | varchar(255) | YES  |     | NULL    |       |
+----------+--------------+------+-----+---------+-------+
3 rows in set (0.01 sec)

コマンドを実行すると、このようにテーブルのカラム情報が表示されます。

ここまでが「DESCRIBE」と「DESC」の基本です。

この場合だと、3つのカラムとそれぞれの型がわかりますね!これらの読み方も後ほど解説しますね!

DESCRIBE結果の読み方

DESCRIBEで表示された結果の読み方を解説します。

mysql> DESCRIBE users;
+----------+--------------+------+-----+---------+-------+
| Field    | Type         | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+-------+
| id       | int          | YES  |     | NULL    |       |
| email    | varchar(255) | YES  |     | NULL    |       |
| password | varchar(255) | YES  |     | NULL    |       |
+----------+--------------+------+-----+---------+-------+
3 rows in set (0.02 sec)

ヘッダーにField Type Null Key Default Extraと書いてありますね?これらの意味を下記でまとめます。

  • Field: カラムの名前です。
  • Type: 各カラムに入れられるデータの型を表しています。
  • Null: データが空でもOKかどうかを表します。YESだと空データはOKです。
  • Key: データ検索を高速化するための「インデックス(索引)」の登録されてるかが表示されます。
  • Default: データが空だった場合にデフォルトでセットする値です。NULLは何もセットしません。
  • Extra: その他の情報が入ります。

まとめ

  • テーブルのカラム情報を確認するにはDESCRIBEDESCを使う
  • DESCRIBEで表示した内容で型やデフォルト値までわかる

以上、テーブルのカラム情報の確認方法をアキ(@hackablejp)が解説しました!

この記事を書いた人

自身がプログラミングを独学で勉強し始めて躓いた経験を元に、これから勉強をする人に向けに「イラスト多めでわかりやすい記事」にこだわって情報を発信しています。

現在はフルスタックエンジニアとしてサービス開発などのお仕事をしています。