DESCRIBE
概要
このステートメントは、指定されたTableのスキーマ情報を表示するために使用されます。
構文
DESC[RIBE] [<ctl_name>.][<db_name>.]<table_name> [ALL];
必須パラメータ
1.<table_name>
Tableの識別子(つまり、名前)を指定します。これはデータベース内で一意である必要があります。
識別子は文字(またはUnicode名前サポートが有効な場合は任意の言語文字)で始まる必要があり、識別子文字列全体がバッククォートで囲まれていない限り(例:
My Object)、スペースや特殊文字を含むことはできません。識別子は予約キーワードを使用できません。
詳細については、識別子要件と予約キーワードを参照してください。
オプションパラメータ
1.<ctl_name>.<db_name>
データカタログとデータベースの識別子(つまり、名前)を指定します。
識別子は文字(またはUnicode名前サポートが有効な場合は任意の言語文字)で始まる必要があり、識別子文字列全体がバッククォートで囲まれていない限り(例:
My Database)、スペースや特殊文字を含むことはできません。識別子は予約キーワードを使用できません。
詳細については、識別子要件と予約キーワードを参照してください。
2.ALL
内部Tableでのみ有効です。内部TableのすべてのIndex情報を返します。
戻り値
ALLが指定されていない場合、戻り値は以下の通りです:
| カラム | 説明 |
|---|---|
| Field | カラム名 |
| タイプ | データ型 |
| Null | NULL値が許可されているかどうか |
| Key | キーカラムかどうか |
| Default | デフォルト値 |
| Extra | 追加情報を表示 |
バージョン3.0.7では、新しいセッション変数show_column_comment_in_describeが追加されました。trueに設定すると、カラムコメント情報を表示する追加のCommentカラムが追加されます。
ALLが指定された場合、内部Tableについて、戻り値は以下の通りです:
| カラム | 説明 |
|---|---|
| IndexName | Table名 |
| IndexKeysType | Tableモデル |
| Field | カラム名 |
| タイプ | データ型 |
| Null | NULL値が許可されているかどうか |
| Key | キーカラムかどうか |
| Default | デフォルト値 |
| Extra | 追加情報を表示 |
| Visible | 表示されているかどうか |
| DefineExpr | 定義式 |
| WhereClause | フィルター条件関連の定義 |
権限制御
このSQLコマンドを実行するユーザーは、少なくとも以下の権限を持っている必要があります:
| 権限(Privilege) | オブジェクト | 備考 |
|---|---|---|
| SELECT_PRIV | Table | DESCを実行する際は、クエリ対象のTableに対してSELECT_PRIV権限を持つ必要があります |
例
- Base TableのSchema表示
DESC test_table;
+---------+-------------+------+-------+---------+-------+
| Field | タイプ | Null | Key | Default | Extra |
+---------+-------------+------+-------+---------+-------+
| user_id | bigint | No | true | NULL | |
| name | varchar(20) | Yes | false | NULL | NONE |
| age | int | Yes | false | NULL | NONE |
+---------+-------------+------+-------+---------+-------+