SHOW [FULL] COLUMNS {FROM | IN} tbl_name [{FROM | IN} db_name]
[LIKE 'pattern' | WHERE expr]
SHOW COLUMNS
は与えられたテーブル内のカラムに関する情報を表示します。これはビューに対しても機能します。LIKE
節 (存在する場合)
は、どのカラム名と照合するかを示します。Extensions to SHOW Statements
で説明されているように、WHERE
節を指定すると、より一般的な条件を使用して行を選択できます。
mysql> SHOW COLUMNS FROM City;
+------------+----------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+----------+------+-----+---------+----------------+
| Id | int(11) | NO | PRI | NULL | auto_increment |
| Name | char(35) | NO | | | |
| Country | char(3) | NO | UNI | | |
| District | char(20) | YES | MUL | | |
| Population | int(11) | NO | | 0 | |
+------------+----------+------+-----+---------+----------------+
5 rows in set (0.00 sec)
データ型が、CREATE
TABLE
ステートメントに基づいて予測されるものと異なる場合は、テーブルの作成または変更時に
MySQL
によってデータ型が変更される場合があることに注意してください。この状態が発生する条件は、項8.1.17.1. 「サイレントカラム仕様変更」
で説明されています。
FULL
キーワードを指定すると、カラムの照合とコメント、および各カラムに対して持っている権限が出力に含まれます。
db_name.tbl_name を
構文の代わりとして使用できます。言い換えると、これらの
2 つのステートメントは同等ということです。
tbl_name
FROM db_name
mysql>SHOW COLUMNS FROM mytable FROM mydb;mysql>SHOW COLUMNS FROM mydb.mytable;
SHOW COLUMNS
は、テーブルカラムごとに次の値を表示します。
Field
はカラム名を指示します。
Type
は、このカラムのデータ型を示します。
Collation
は、非バイナリ列カラムについては照合を、その他のカラムについては
NULL
を示します。この値は、FULL
キーワードを使用する場合にのみ表示されます。
Null
フィールドには、このカラムに
NULL
値を格納できる場合は
YES、できない場合は
NO が含まれます。
Key
フィールドは、このカラムがインデックス設定されているかどうかを示します。
Key
が空の場合、このカラムはインデックス設定されていないか、または複合カラム内のセカンダリカラム
(一意でないインデックス)
としてのみインデックス設定されているかのどちらかです。
Key が
PRI
の場合、このカラムは
PRIMARY KEY
であるか、または複合カラム
PRIMARY KEY
内のいずれかのカラムです。
Key が
UNI
の場合、このカラムは、NULL
値を含むことのできない一意の値のインデックスの最初のカラムです。
Key が
MUL
の場合は、このカラム内で特定の値の複数の発生が許可されます。このカラムは、NULL
値を含むことのできる一意でないインデックスまたは一意の値のインデックスの最初のカラムです。
テーブルの特定のカラムに複数の
Key
値が適用される場合、Key
には、もっとも優先度の高い値が
PRI、UNI、MUL
の順序で表示されます。
UNIQUE
インデックスは、NULL
値を含むことができず、かつテーブル内に
PRIMARY KEY
が存在しない場合は
PRI
として表示される可能性があります。UNIQUE
インデックスは、複数のカラムが複合
UNIQUE
インデックスを形成している場合は
MUL
として表示される可能性があります。このカラムの組み合わせは一意であるにもかかわらず、各カラムは引き続き、特定の値の複数の発生を保持できます。
Default
フィールドは、カラムに割り当てられたデフォルト値を指示します。
Extra
フィールドは与えられたカラムについて有効な追加情報を含んでいます。この値は、次の場合は空以外です。AUTO_INCREMENT
属性を持つカラムに対する
auto_increment、MySQL
5.1.23 の時点では、ON UPDATE
CURRENT_TIMESTAMP 属性を持つ
TIMESTAMP
カラムに対する ON UPDATE
CURRENT_TIMESTAMP。
Privileges
は、このカラムに対して持っている権限を示します。この値は、FULL
キーワードを使用する場合にのみ表示されます。
Comment
は、このカラムに含まれている任意のコメントを示します。この値は、FULL
キーワードを使用する場合にのみ表示されます。
SHOW FIELDS は
SHOW COLUMNS
の同義語です。また、mysqlshow
db_name
tbl_name
コマンドを使用してテーブルのカラムを一覧表示することもできます。
DESCRIBE
ステートメントは
SHOW COLUMNS
に似た情報を提供します。項8.3.1. 「DESCRIBE 構文」
を参照してください。
また、SHOW CREATE
TABLE、SHOW
TABLE STATUS、および
SHOW INDEX
ステートメントでは、テーブルに関する情報も提供されます。項8.5.5. 「SHOW 構文」
を参照してください。
