データベースやテーブルの名前を忘れた場合、または特定のテーブルの構造(カラム名など)を忘れた場合、どうすればよいでしょうか。MySQL では、サポートするデータベースおよびテーブルの情報を提供するステートメントを多数用意することで、このような問題を解決します。
SHOW DATABASES
は、すでに説明したとおり、サーバが管理するデータベースの一覧を表示します。現在選択されているデータベースを取得するには、DATABASE()
関数を使用します。
mysql> SELECT DATABASE();
+------------+
| DATABASE() |
+------------+
| menagerie |
+------------+
まだどのデータベースも選択していない場合は、NULL
が返されます(MySQL 4.1.1
より前のバージョンでは空の文字列)。
カレントデータベースに含まれるテーブルを取得するには(テーブル名がわからない場合など)、以下のコマンドを実行します。
mysql> SHOW TABLES;
+---------------------+
| Tables in menagerie |
+---------------------+
| event |
| pet |
+---------------------+
テーブルの構造を取得するには、DESCRIBE
コマンドを使用します。このコマンドは、テーブルの各カラムに関する情報を表示します。
mysql> DESCRIBE pet;
+---------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| name | varchar(20) | YES | | NULL | |
| owner | varchar(20) | YES | | NULL | |
| species | varchar(20) | YES | | NULL | |
| sex | char(1) | YES | | NULL | |
| birth | date | YES | | NULL | |
| death | date | YES | | NULL | |
+---------+-------------+------+-----+---------+-------+
Field
はカラム名、Type
はカラムのデータ型、NULL
はカラムに NULL
値を格納できるかどうか、Key
はカラムにインデックスが付加されているかどうか、Default
はカラムのデフォルト値を、それぞれ示します。
テーブルにインデックスが付加されている場合、SHOW
INDEX FROM tbl_name
を実行するとその情報を取得できます。
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.