COLUMNS
テーブルはテーブルのカラムに関する情報を提供します。
INFORMATION_SCHEMA
名 |
SHOW 名 |
備考 |
TABLE_CATALOG |
NULL |
|
TABLE_SCHEMA |
||
TABLE_NAME |
||
COLUMN_NAME |
Field |
|
ORDINAL_POSITION |
注を参照 | |
COLUMN_DEFAULT |
Default |
|
IS_NULLABLE |
Null |
|
DATA_TYPE |
Type |
|
CHARACTER_MAXIMUM_LENGTH |
Type |
|
CHARACTER_OCTET_LENGTH |
||
NUMERIC_PRECISION |
Type |
|
NUMERIC_SCALE |
Type |
|
CHARACTER_SET_NAME |
||
COLLATION_NAME |
Collation |
|
COLUMN_TYPE |
Type |
MySQL 拡張 |
COLUMN_KEY |
Key |
MySQL 拡張 |
EXTRA |
Extra |
MySQL 拡張 |
COLUMN_COMMENT |
Comment |
MySQL 拡張 |
注:
SHOW
では、Type
表示は異なるいくつかの COLUMNS
カラムの値を含んでいます。
ORDINAL_POSITION
は ORDER BY
ORDINAL_POSITION
をいう場合があり場合がありますので必要です。SHOW
とは異なり、SELECT
には自動オーダーリングはありません。
CHARACTER_OCTET_LENGTH
は、マルチバイトの文字セットを除いては
CHARACTER_MAXIMUM_LENGTH
と同じでなければなりません。
CHARACTER_SET_NAME
は
Collation
から得られます。例えば、SHOW FULL COLUMNS
FROM t
という場合、
Collation
カラムに
latin1_swedish_ci
の値が表示されます。文字セットは最初のアンダースコアの前の部分、つまりlatin1
です。
以下のステートメントはほぼ等価です。
SELECT COLUMN_NAME, DATA_TYPE, IS_NULLABLE, COLUMN_DEFAULT FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = 'tbl_name
' [AND table_schema = 'db_name
'] [AND column_name LIKE 'wild
'] SHOW COLUMNS FROMtbl_name
[FROMdb_name
] [LIKE 'wild
']