このページは機械翻訳したものです。
データベースやテーブルの名前を忘れた場合や、特定のテーブルの構造 (カラムの名前など) を忘れた場合はどうしますか。 MySQL では、この問題に対処するために、サポートしているデータベースとテーブルについて情報を提供するステートメントがいくつか用意されています。
前出の SHOW DATABASES
は、サーバーで管理されているデータベースのリストを表示します。 現在どのデータベースが選択されているかを調べるには、DATABASE()
関数を使用します。
Press CTRL+C to copymysql> SELECT DATABASE(); +------------+ | DATABASE() | +------------+ | menagerie | +------------+
まだどのデータベースも選択していない場合、結果は NULL
になります。
デフォルトデータベースに含まれるテーブルを確認するには (たとえば、テーブルの名前がわからない場合)、次のステートメントを使用します:
Press CTRL+C to copymysql> SHOW TABLES; +---------------------+ | Tables_in_menagerie | +---------------------+ | event | | pet | +---------------------+
このステートメントで生成される出力のカラム名は常に Tables_in_
になります。ここで、db_name
db_name
はデータベースの名前です。 詳細については、セクション13.7.7.39「SHOW TABLES ステートメント」を参照してください。
テーブルの構造を知りたい場合は、DESCRIBE
ステートメントが役に立ちます。このステートメントはテーブルの各カラムの情報を表示します。
Press CTRL+C to copymysql> 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
です。
DESC
は DESCRIBE
の省略形式です。 詳細については、セクション13.8.1「DESCRIBE ステートメント」を参照してください。
既存のテーブルを作成するために必要な CREATE TABLE
ステートメントを、SHOW CREATE TABLE
ステートメントを使用して取得できます。 セクション13.7.7.10「SHOW CREATE TABLE ステートメント」を参照してください。
テーブルにインデックスが設定されている場合は、SHOW INDEX FROM
でその情報を表示できます。 このステートメントの詳細については、セクション13.7.7.22「SHOW INDEX ステートメント」を参照してください。
tbl_name