DESCRIBE
如果您想要新建結(jié)構(gòu)相似的表或數(shù)據(jù)庫(kù),可以通過DESCRIBE語(yǔ)法獲取原表或原數(shù)據(jù)庫(kù)的結(jié)構(gòu)。
適用引擎
DESCRIBE語(yǔ)法適用于寬表引擎和時(shí)序引擎。
語(yǔ)法
describe_statement ::= { DESCRIBE | DESC } [{ DATABASE | TABLE }] identifier
差異說明
寬表引擎和時(shí)序引擎對(duì)語(yǔ)法要素的支持情況如下:
語(yǔ)法要素 | 寬表引擎 | 時(shí)序引擎 |
?? | 〇 | |
〇 | 〇 | |
〇 | 〇 |
使用說明
DATABASE
僅時(shí)序引擎支持DATABASE
關(guān)鍵字。
在DESCRIBE
中使用DATABASE
關(guān)鍵字用于獲取并返回?cái)?shù)據(jù)庫(kù)的結(jié)構(gòu)。
TABLE
在DESCRIBE
中使用TABLE
關(guān)鍵字用于獲取并返回表的結(jié)構(gòu)。需注意,寬表引擎和時(shí)序引擎返回的表結(jié)構(gòu)信息并不完全相同。
對(duì)象名稱(identifier)
DESCRIBE
語(yǔ)句中使用DATABASE
關(guān)鍵字時(shí)默認(rèn)identifier為數(shù)據(jù)庫(kù)名,DESCRIBE
語(yǔ)句中使用TABLE
關(guān)鍵字時(shí)默認(rèn)identifier為表名。如果DESCRIBE
中未使用DATABASE
和TABLE
關(guān)鍵字,默認(rèn)identifier為表名。例如DESCRIBE test;
表示獲取當(dāng)前數(shù)據(jù)庫(kù)下test表的結(jié)構(gòu)。
示例
假設(shè)建表語(yǔ)句如下:
CREATE TABLE sensor (
device_id VARCHAR NOT NULL,
region VARCHAR NOT NULL,
time TIMESTAMP NOT NULL,
temperature DOUBLE,
humidity BIGINT,
PRIMARY KEY(device_id, region, time)
);
獲取表結(jié)構(gòu)
DESCRIBE TABLE sensor; -- 完整寫法
DESC sensor; -- 縮略寫法
寬表引擎返回結(jié)果如下:
+--------------+------------+-------------+-----------+----------------+------------+
| TABLE_SCHEMA | TABLE_NAME | COLUMN_NAME | TYPE | IS_PRIMARY_KEY | SORT_ORDER |
+--------------+------------+-------------+-----------+----------------+------------+
| default | sensor | device_id | VARCHAR | true | ASC |
| default | sensor | region | VARCHAR | true | ASC |
| default | sensor | time | TIMESTAMP | true | ASC |
| default | sensor | temperature | DOUBLE | false | none |
| default | sensor | humidity | BIGINT | false | none |
+--------------+------------+-------------+-----------+----------------+------------+
時(shí)序引擎返回結(jié)果如下:
+-------------+-----------+------------+------------+--------------+
| columnName | typeName | columnKind | primaryKey | partitionTag |
+-------------+-----------+------------+------------+--------------+
| device_id | VARCHAR | TAG | true | true |
| region | VARCHAR | TAG | true | true |
| time | TIMESTAMP | TIMESTAMP | true | false |
| temperature | DOUBLE | FIELD | false | false |
| humidity | BIGINT | FIELD | false | false |
+-------------+-----------+------------+------------+--------------+
獲取數(shù)據(jù)庫(kù)結(jié)構(gòu)
獲取時(shí)序數(shù)據(jù)庫(kù)DB1的結(jié)構(gòu)。
DESCRIBE DATABASE DB1;
返回結(jié)果如下:
+--------------------+-------+
| attribute | value |
+--------------------+-------+
| shard_num_per_node | 0 |
| skip_wal | false |
| string_compression | false |
| cold_boundary | 30 |
| partition_interval | 30 |
| ttl | 60 |
| shard_num | 0 |
+--------------------+-------+
返回結(jié)果說明:
shard_num_per_node:Database在每個(gè)節(jié)點(diǎn)使用的分片數(shù)量。默認(rèn)值為1。
skip_wal:是否記錄日志數(shù)據(jù)。默認(rèn)值為false,即默認(rèn)數(shù)據(jù)庫(kù)記錄日志數(shù)據(jù)。
string_compression:是否對(duì)STRING類型的數(shù)據(jù)進(jìn)行壓縮。默認(rèn)值為false,即不壓縮STRING數(shù)據(jù)。
shard_num:Database在集群中的分片總數(shù)。無(wú)默認(rèn)值。
cold_boundary、partition_interval、ttl:
CREATE DATABASE
時(shí)設(shè)置的數(shù)據(jù)庫(kù)屬性,詳細(xì)介紹,請(qǐng)參見數(shù)據(jù)庫(kù)屬性(attribute_definition)。