TAOS SQL
本文档说明 TAOS SQL 支持的语法规则、主要查询功能、支持的 SQL 查询函数,以及常用技巧等内容。阅读本文档需要读者具有基本的 SQL 语言的基础。
TAOS SQL 是用户对 TDengine 进行数据写入和查询的主要工具。TAOS SQL 为了便于用户快速上手,在一定程度上提供与标准 SQL 类似的风格和模式。严格意义上,TAOS SQL 并不是也不试图提供标准的 SQL 语法。此外,由于 TDengine 没有提供时序数据的删除功能,因此 TAOS SQL 中也没有提供数据删除的相关功能。不过从 TDengine 企业版从 2.6 开始提供了 DELETE 语句。
本章节 SQL 语法遵循如下约定:
- < > 里的内容是用户需要输入的,但不要输入 < > 本身
- 表示内容为可选项,但不能输入 [ ] 本身
- | 表示多选一,选择其中一个即可,但 不能输入 | 本身
- … 表示前面的项可重复多个
为更好地说明 SQL 语法的规则及其特点,本文假设存在一个数据集。以智能电表(meters)为例,假设每个智能电表采集电流、电压、相位三个量。其建模如下:
taos> DESCRIBE meters;
Field | Type | Length | Note |
=================================================================================
ts | TIMESTAMP | 8 | |
current | FLOAT | 4 | |
voltage | INT | 4 | |
phase | FLOAT | 4 | |
location | BINARY | 64 | TAG |
groupid | INT | 4 | TAG |
数据集包含 4 个智能电表的数据,按照 TDengine 的建模规则,对应 4 个子表,其名称分别是 d1001, d1002, d1003, d1004。
📄️ 支持的数据类型
TDengine 支持的数据类型: 时间戳、浮点型、JSON 类型等
📄️ 数据库管理
创建、删除数据库,查看、修改数据库参数
📄️ 表管理
创建数据表
📄️ 超级表管理
在 2.0.15.0 及以后的版本中开始支持 STABLE 保留字。也即,在本节后文的指令说明中,CREATE、DROP、ALTER 三个指令在 2.0.15.0 之前的版本中 STABLE 保留字需写作 TABLE。
📄️ 数据写入
写入语法
📄️ 数据查询
查询语法
📄️ 删除数据
删除指定表或超级表中的数据记录
📄️ SQL 函数
聚合函数
📄️ 按窗口切分聚合
TDengine 支持按时间段窗口切分方式进行聚合结果查询,比如温度传感器每秒采集一次数据,但需查询每隔 10 分钟的温度平均值。这种场景下可以使用窗口子句来获得需要的查询结果。
📄️ 边界限制
一般限制
📄️ JSON 类型使用说明
语法说明
📄️ 转义字符说明
转义字符表