このページは機械翻訳したものです。
SHOW [EXTENDED] [FULL] {COLUMNS | FIELDS}
{FROM | IN} tbl_name
[{FROM | IN} db_name]
[LIKE 'pattern' | WHERE expr]
SHOW COLUMNS は、特定のテーブル内のカラムに関する情報を表示します。 これはビューに対しても機能します。 SHOW COLUMNS は、ユーザーが何らかの権限を持っているカラムの情報のみを表示します。
mysql> SHOW COLUMNS FROM City;
+-------------+----------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+----------+------+-----+---------+----------------+
| ID | int(11) | NO | PRI | NULL | auto_increment |
| Name | char(35) | NO | | | |
| CountryCode | char(3) | NO | MUL | | |
| District | char(20) | NO | | | |
| Population | int(11) | NO | | 0 | |
+-------------+----------+------+-----+---------+----------------+
構文のかわりに、tbl_name FROM db_namedb_name.tbl_name を使用することもできます。 次の 2 つのステートメントは同等です。
SHOW COLUMNS FROM mytable FROM mydb;
SHOW COLUMNS FROM mydb.mytable;
オプションの EXTENDED キーワードを使用すると、MySQL が内部的に使用し、ユーザーがアクセスできない非表示カラムに関する情報が出力に含まれます。
オプションの FULL キーワードを指定すると、出力には、カラムの照合およびコメントに加えて、各カラムに付与されている権限が含まれます。
LIKE 句 (存在する場合) は、どのカラム名と照合するかを示します。 セクション26.55「SHOW ステートメントの拡張」で説明されているように、WHERE 句を指定すると、より一般的な条件を使用して行を選択できます。
テーブルの作成または変更時に MySQL によってデータ型が変更される場合があるため、データ型は CREATE TABLE ステートメントに基づくものとは異なる場合があります。 この状態が発生する条件は、セクション13.1.20.7「暗黙のカラム指定の変更」で説明されています。
SHOW COLUMNS は、テーブルカラムごとに次の値を表示します。
-
Fieldカラムの名前。
-
Typeカラムのデータ型。
-
Collation非バイナリ文字列カラムの照合順序、またはほかのカラムの場合は
NULL。 この値は、FULLキーワードを使用した場合にのみ表示されます。 -
Nullカラムの NULL 値可能性。 この値は、
NULL値をカラムに格納できる場合はYESで、格納できない場合はNOです。 -
Keyカラムがインデックス付けされているかどうか:
Keyが空の場合、このカラムはインデックス設定されていないか、またはマルチカラム内のセカンダリカラム (一意でないインデックス) としてのみインデックス設定されているかのどちらかです。KeyがPRIの場合、このカラムはPRIMARY KEYであるか、またはマルチカラムPRIMARY KEY内のいずれかのカラムです。KeyがUNIの場合、このカラムはUNIQUEインデックスの最初のカラムです。 (UNIQUEインデックスは複数のNULL値を許可しますが、そのカラムがNULLを許可するかどうかはNullフィールドをチェックすることによってわかります。)KeyがMULの場合、このカラムは、特定の値がカラム内に複数回現れることが許可されている一意でないインデックスの最初のカラムです。
テーブルの特定のカラムに複数の
Key値が適用される場合、Keyには、もっとも優先度の高い値がPRI、UNI、MULの順序で表示されます。UNIQUEインデックスは、NULL値を含むことができず、かつテーブル内にPRIMARY KEYが存在しない場合はPRIとして表示される可能性があります。UNIQUEインデックスは、複数のカラムが複合UNIQUEインデックスを形成している場合はMULとして表示される可能性があります。このカラムの組み合わせは一意であるにもかかわらず、各カラムには引き続き、特定の値が複数回現れることがあります。 -
Defaultカラムのデフォルト値。 これは、カラムのデフォルトが明示的に
NULLに設定されている場合、またはカラム定義にDEFAULT句が含まれていない場合のNULLです。 -
Extra特定のカラムについて使用可能な追加情報。 次の場合、値は空ではありません:
AUTO_INCREMENT属性を持つカラムのauto_increment。ON UPDATE CURRENT_TIMESTAMP属性を持つon update CURRENT_TIMESTAMPforTIMESTAMPまたはDATETIMEのカラム。生成されたカラムの
VIRTUAL GENERATEDまたはVIRTUAL STORED。式のデフォルト値を持つカラムの
DEFAULT_GENERATED。
-
権限カラムに対して持っている権限。 この値は、
FULLキーワードを使用した場合にのみ表示されます。 -
Commentカラム定義に含まれるコメント。 この値は、
FULLキーワードを使用した場合にのみ表示されます。
テーブルのカラム情報は、INFORMATION_SCHEMA COLUMNS テーブルからも入手できます。 セクション26.8「INFORMATION_SCHEMA COLUMNS テーブル」を参照してください。 非表示カラムに関する拡張情報は、SHOW EXTENDED COLUMNS のみを使用して使用できます。COLUMNS テーブルからは取得できません。
mysqlshow db_name tbl_name コマンドを使用してテーブルのカラムをリストできます。
DESCRIBE ステートメントは、SHOW COLUMNS と同様の情報を提供します。 セクション13.8.1「DESCRIBE ステートメント」を参照してください。
また、SHOW CREATE TABLE、SHOW TABLE STATUS、および SHOW INDEX ステートメントでは、テーブルに関する情報も提供されます。 セクション13.7.7「SHOW ステートメント」を参照してください。