類似したスキーマを持つ新しいテーブルまたはデータベースを作成する場合、DESCRIBE 構文を使用して既存のテーブルまたはデータベースのスキーマを表示できます。
適用可能なエンジン
DESCRIBE 構文は、LindormTable と LindormTSDB に適用できます。
構文
describe_statement ::= { DESCRIBE | DESC } [{ DATABASE | TABLE }] identifier /* describe 文 ::= { DESCRIBE | DESC } [{ DATABASE | TABLE }] identifier */サポートされているパラメーター
次の表は、LindormTable と LindormTSDB でサポートされている DESCRIBE 構文のパラメーターを示しています。
パラメーター | LindormTable | LindormTSDB |
✖️ | 〇 | |
〇 | 〇 | |
〇 | 〇 |
パラメーター
DATABASE
LindormTSDB のみ、DATABASE パラメーターをサポートしています。
DATABASE パラメーターは、データベースのスキーマを取得するために DESCRIBE 構文で指定されます。
TABLE
TABLE パラメーターは、テーブルのスキーマを取得するために DESCRIBE 構文で指定されます。 LindormTSDB と LindormTable に対して返されるテーブルスキーマは完全に同じではないことに注意してください。
identifier
DESCRIBE ステートメントで DATABASE パラメーターが指定されている場合、identifier パラメーターはデフォルトでデータベース名を指定します。 DESCRIBE ステートメントで TABLE パラメーターが指定されている場合、identifier パラメーターはデフォルトでテーブル名を指定します。 DESCRIBE ステートメントで DATABASE パラメーターと TABLE パラメーターが指定されていない場合、identifier パラメーターはデフォルトでテーブル名を指定します。たとえば、現在のデータベース内の test テーブルのスキーマを取得するには、次のステートメントを実行できます: DESCRIBE test;
例
次の例では、次のステートメントを実行して、sensor という名前の test テーブルを作成します。
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)
);テーブルのスキーマを取得する
DESCRIBE TABLE sensor; -- 完全なステートメント。 /* 完全なステートメント */
DESC sensor; -- 省略形のステートメント。 /* 省略形のステートメント */LindormTable では、次の結果が返されます。
+--------------+------------+-------------+-----------+----------------+------------+
| 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 |
+--------------+------------+-------------+-----------+----------------+------------+LindormTSDB では、次の結果が返されます。
+-------------+-----------+------------+------------+--------------+
| 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 |
+-------------+-----------+------------+------------+--------------+データベースのスキーマを取得する
DB1 という名前の時系列データベースのスキーマを取得します。
DESCRIBE DATABASE DB1;次の結果が返されます。
+--------------------+-------+
| attribute | value |
+--------------------+-------+
| shard_num_per_node | 0 |
| skip_wal | false |
| string_compression | false |
| cold_boundary | 30 |
| partition_interval | 30 |
| ttl | 60 |
| shard_num | 0 |
+--------------------+-------+返された結果には、次のフィールドが含まれています。
shard_num_per_node: 各ノードのデータベースで使用されるシャードの数。デフォルト値: 1。
skip_wal: ログが記録されるかどうかを示します。このフィールドのデフォルト値は false で、データベースのログが記録されることを示します。
string_compression: STRING データが圧縮されるかどうかを示します。このフィールドのデフォルト値は false で、STRING データが圧縮されないことを示します。
shard_num: クラスタ内のデータベースシャードの総数。このフィールドにはデフォルト値がありません。
cold_boundary、partition_interval、ttl: データベースを作成するために実行された
CREATE DATABASEステートメントで構成されたデータベースの属性。詳細については、「CREATE DATABASE」をご参照ください。