DESCRIBE TABLE文
構文
describe_table_statement ::=
(DESCRIBE | DESC) [AS JSON] TABLE table_name
[ "(" field_name ["," field_name] ")"]
セマンティクス
表の説明には、次の情報が含まれます。
- 表の名前。
- 表の存続期間の値。
- 表の所有者。
- 表がシステム表かどうか。
- 親表の名前。
- 子表の名前。
- 表に存在する索引のリスト。
- 表の説明。
フィールドの説明には、次の情報が含まれます。
- フィールドのID。
- フィールドの名前。
- INTEGER、STRING、Map(INTEGER)などのフィールドのデータ型。
- フィールドがNULL値可能かどうか。フィールドがNULL値可能である場合は「Y」が表示され、そうでない場合は「N」が表示されます。
- フィールドのデフォルト値。
- フィールドがシャード・キーかどうか。フィールドがシャード・キーの場合は「Y」が表示され、そうでない場合は「N」が表示されます。
- フィールドが主キーかどうか。フィールドが主キーの場合は「Y」が表示され、そうでない場合は「N」が表示されます。
- フィールドがアイデンティティ・フィールドかどうか。フィールドがアイデンティティ・フィールドの場合は「Y」が表示され、そうでない場合は「N」が表示されます。
出力をJSON形式にする場合、AS JSONを指定できます。
例5-5 Describe Table
出力をJSON形式にする場合、AS JSONを指定できます。
DESCRIBE TABLE users;
=== Information ===
+-------+-----+-------+----------+----------+--------+----------+---------+-------------+
| name | ttl | owner | sysTable | r2compat | parent | children | indexes | description |
+-------+-----+-------+----------+----------+--------+----------+---------+-------------+
| users | | | N | N | | | | |
+-------+-----+-------+----------+----------+--------+----------+---------+-------------+
=== Fields ===
+----+-------------+---------------------+----------+-----------+----------+------------+----------+
| id | name | type | nullable | default | shardKey | primaryKey | identity |
+----+-------------+---------------------+----------+-----------+----------+------------+----------+
| 1 | id | Integer | N | NullValue | Y | Y | |
+----+-------------+---------------------+----------+-----------+----------+------------+----------+
| 2 | firstName | String | Y | NullValue | | | |
+----+-------------+---------------------+----------+-----------+----------+------------+----------+
| 3 | lastName | String | Y | NullValue | | | |
+----+-------------+---------------------+----------+-----------+----------+------------+----------+
| 4 | otherNames | Array( | Y | NullValue | | | |
| | | RECORD( | | | | | |
| | | first : String, | | | | | |
| | | last : String | | | | | |
| | | )) | | | | | |
+----+-------------+---------------------+----------+-----------+----------+------------+----------+
| 5 | age | Integer | Y | NullValue | | | |
+----+-------------+---------------------+----------+-----------+----------+------------+----------+
| 6 | income | Integer | Y | NullValue | | | |
+----+-------------+---------------------+----------+-----------+----------+------------+----------+
| 7 | address | Json | Y | NullValue | | | |
+----+-------------+---------------------+----------+-----------+----------+------------+----------+
| 8 | connections | Array(Integer) | Y | NullValue | | | |
+----+-------------+---------------------+----------+-----------+----------+------------+----------+
| 9 | expenses | Map(Integer) | Y | NullValue | | | |
+----+-------------+---------------------+----------+-----------+----------+------------+----------+
例5-6 Describe Table
次の文は、users表およびそのフィールドに関する情報をJSON形式で提供します。
DESC AS JSON TABLE users;
{
"json_version" : 1,
"type" : "table",
"name" : "users",
"shardKey" : [ "id" ],
"primaryKey" : [ "id" ],
"fields" : [ {
"name" : "id",
"type" : "INTEGER",
"nullable" : false,
"default" : null
}, {
"name" : "firstName",
"type" : "STRING",
"nullable" : true,
"default" : null
}, {
"name" : "lastName",
"type" : "STRING",
"nullable" : true,
"default" : null
}, {
"name" : "otherNames",
"type" : "ARRAY",
"collection" : {
"name" : "RECORD_gen",
"type" : "RECORD",
"fields" : [ {
"name" : "first",
"type" : "STRING",
"nullable" : true,
"default" : null
}, {
"name" : "last",
"type" : "STRING",
"nullable" : true,
"default" : null
} ]
},
"nullable" : true,
"default" : null
}, {
"name" : "age",
"type" : "INTEGER",
"nullable" : true,
"default" : null
}, {
"name" : "income",
"type" : "INTEGER",
"nullable" : true,
"default" : null
}, {
"name" : "address",
"type" : "JSON",
"nullable" : true,
"default" : null
}, {
"name" : "connections",
"type" : "ARRAY",
"collection" : {
"type" : "INTEGER"
},
"nullable" : true,
"default" : null
}, {
"name" : "expenses",
"type" : "MAP",
"collection" : {
"type" : "INTEGER"
},
"nullable" : true,
"default" : null
} ]
}
例5-7 Describe Table
次の文は、users表の特定のフィールドに関する情報を提供します。
DESCRIBE TABLE users (income);
+----+--------+---------+----------+-----------+----------+------------+----------+
| id | name | type | nullable | default | shardKey | primaryKey | identity |
+----+--------+---------+----------+-----------+----------+------------+----------+
| 1 | income | Integer | Y | NullValue | | | |
+----+--------+---------+----------+-----------+----------+------------+----------+