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