目录
建库和建表
创建数据库
创建一个数据库以存储电表数据的 SQL 如下:
CREATE DATABASE power PRECISION 'ms' KEEP 3650 DURATION 10 BUFFER 16;
该 SQL 将创建一个名为 power 的数据库,各参数说明如下:
PRECISION 'ms':这个数据库的时序数据使用毫秒(ms)精度的时间戳KEEP 3650:这个库的数据将保留 3650 天,超过 3650 天的数据将被自动删除DURATION 10:每 10 天的数据放在一个数据文件中BUFFER 16:写入使用大小为 16MB 的内存池。
注意:KEEP 3650这个日期影响着后面插入的时间,如果后面插入的时间戳早于这个时间将会报错
Timestamp data out of range
在创建power数据库后,可以执行 USE 语句来使用切换数据库。
use power;
该 SQL 将当前数据库切换为 power,表示之后的插入、查询等操作,都在当前的 power 数据库中进行。
创建超级表
创建一张名为 meters 的超级表的 SQL 如下:
CREATE STABLE meters (
ts timestamp,
current float,
voltage int,
phase float
) TAGS (
location varchar(64),
group_id int
);
在 TDengine 中,创建超级表的 SQL 语句与关系型数据库类似。例如,上面的 SQL 中,CREATE STABLE 为关键字,表示创建超级表;接着,meters 是超级表的名称;在表名后面的括号中,定义超级表的列(列名、数据类型等),规则如下:
- 第 1 列必须为时间戳列。例如:
ts timestamp表示,时间戳列名是ts,数据类型为timestamp; - 从第 2 列开始是采集量列。采集量的数据类型可以为整型、浮点型、字符串等。例如:
current float表示,采集量电流current,数据类型为float;
最后,TAGS是关键字,表示标签,在 TAGS 后面的括号中,定义超级表的标签(标签名、数据类型等)。
- 标签的数据类型可以为整型、浮点型、字符串等。例如:
location varchar(64)表示,标签地区location,数据类型为varchar(64); - 标签的名称不能与采集量列的名称相同。
创建表
通过超级表创建子表 d1001 的 SQL 如下:
CREATE TABLE d1001
USING meters (
location,
group_id
) TAGS (
"California.SanFrancisco",
2
);
上面的 SQL 中,CREATE TABLE 为关键字,表示创建表;d1001 是子表的名称;USING 是关键字,表示要使用超级表作为模版;meters 是超级表的名称;在超级表名后的括号中,location, group_id 表示,是超级表的标签列名列表;TAGS 是关键字,在后面的括号中指定子表的标签列的值。"California.SanFrancisco" 和 2 表示子表 d1001 的位置为 California.SanFrancisco,分组 ID 为 2 。
当对超级表进行写入或查询操作时,用户可以使用


2万+

被折叠的 条评论
为什么被折叠?



