Documentation Home
MySQL 5.6 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 26.8Mb
PDF (A4) - 26.9Mb
HTML Download (TGZ) - 7.2Mb
HTML Download (Zip) - 7.2Mb


MySQL 5.6 リファレンスマニュアル  /  チュートリアル  /  データベースとテーブルに関する情報の取得

3.4 データベースとテーブルに関する情報の取得

データベースやテーブルの名前を忘れた場合や、特定のテーブルの構造 (カラムの名前など) を忘れた場合はどうしますか。MySQL では、この問題に対処するために、サポートしているデータベースとテーブルについて情報を提供するステートメントがいくつか用意されています。

前出の SHOW DATABASES は、サーバーで管理されているデータベースのリストを表示します。現在どのデータベースが選択されているかを調べるには、DATABASE() 関数を使用します。

mysql> SELECT DATABASE();
+------------+
| DATABASE() |
+------------+
| menagerie  |
+------------+

まだどのデータベースも選択していない場合、結果は NULL になります。

テーブルの名前がはっきりしない場合などに、デフォルトのデータベースにどのようなテーブルが含まれているかを調べるには、次のコマンドを使用します。

mysql> SHOW TABLES;
+---------------------+
| Tables_in_menagerie |
+---------------------+
| event               |
| pet                 |
+---------------------+

このステートメントで生成される出力のカラム名は常に Tables_in_db_name になります。ここで、db_name はデータベースの名前です。詳細については、セクション13.7.5.38「SHOW TABLES 構文」を参照してください。

テーブルの構造を知りたい場合は、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 はカラムのデフォルト値を示します。Extra には、カラムに関する特殊な情報が表示されます。カラムが AUTO_INCREMENT オプションで作成された場合、値は空ではなく auto_increment になります。

DESCDESCRIBE の省略形式です。詳細については、セクション13.8.1「DESCRIBE 構文」を参照してください。

既存のテーブルを作成するために必要な CREATE TABLE ステートメントを、SHOW CREATE TABLE ステートメントを使用して取得できます。セクション13.7.5.12「SHOW CREATE TABLE 構文」を参照してください。

テーブルにインデックスが設定されている場合は、SHOW INDEX FROM tbl_name でその情報を表示できます。このステートメントの詳細については、セクション13.7.5.23「SHOW INDEX 構文」を参照してください。