SQL 手册
本文档说明 TDengine TSDB SQL 支持的语法规则、主要查询功能、支持的 SQL 查询函数,以及常用技巧等内容。阅读本文档需要读者具有基本的 SQL 语言的基础。TDengine TSDB 3.0 版本相比 2.x 版本做了大量改进和优化,特别是查询引擎进行了彻底的重构,因此 SQL 语法相比 2.x 版本有很多变更。详细的变更内容请见 3.0 版本语法变更 章节
TDengine TSDB SQL 是用户对 TDengine TSDB 进行数据写入和查询的主要工具。TDengine TSDB SQL 提供标准的 SQL 语法,并针对时序数据和业务的特点优化和新增了许多语法和功能。TDengine TSDB SQL 语句的最大长度为 1M。TDengine TSDB SQL 不支持关键字的缩写,例如 DELETE 不能缩写为 DEL。
本章节 SQL 语法遵循如下约定:
- 用大写字母表示关键字,但 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 TSDB 的建模规则,对应 4 个子表,其名称分别是 d1001、d1002、d1003、d1004。
📄️ 数据类型
TDengine TSDB 支持的数据类型:时间戳、浮点型、JSON 类型等
📄️ 数据库
创建、删除数据库,查看、修改数据库参数
📄️ 数据表
对表的各种管理操作
📄️ 超级表
对超级表的各种管理操作
📄️ 虚拟表
对虚拟表的各种管理操作
📄️ 数据写入
写入数据的详细语法
📄️ 数据删除
删除指定表或超级表中的数据记录
📄️ 数据压缩
可配置的数据压缩算法
📄️ 数据查询
查询数据的详细语法
📄️ 运算符
TDengine TSDB 支持的所有运算符
📄️ 内置函数
TDengine TSDB 支持的函数列表
📄️ 自定义函数
使用 UDF 的详细指南
📄️ 特色查询
TDengine TSDB 提供的时序数据特有的查询功能
📄️ 关联查询
关联查询详细描述
📄️ 标签索引
使用标签索引提升查询性能
📄️ 视图
从 v3.2.1.0 开始,TDengine TSDB 企业版提供视图功能,便于用户简化操作,提升用户间的分享能力。
📄️ 数据订阅
TDengine TSDB 消息队列提供的数据订阅功能
📄️ 流式计算
流式计算的相关 SQL 的详细语法
📄️ 窗口预聚集
窗口预聚集使用说明
📄️ 降采样存储
降采样存储使用说明
📄️ 元数据
Information_Schema 数据库中存储了系统中所有的元数据信息
📄️ 统计数据
Performance_Schema 数据库中存储了系统中的各种统计信息
📄️ SHOW 命令
SHOW 命令的完整列表
📄️ 用户管理
本节讲述基本的用户管理功能
📄️ 权限管理
TDengine TSDB 中的权限管理分为 用户管理、数据库授权管理以及消息订阅授权管理,本节重点说明数据库授权和订阅授权。
📄️ 节点管理
管理集群节点的 SQL 命令的详细解析
📄️ 数据挂载
自 3.3.7.0 版本起,TDengine TSDB 企业版提供数据挂载功能。该功能支持用户在宿主集群中,通过 SQL 命令将源集群(包括飞行器、车载设备、边缘设备、同机房其他集群、跨数据中心集群、历史备份数据等)挂载到宿主集群,使宿主集群能够直接识别并访问源集群的数据库、表及数据。挂载后无需数据迁移,即可在宿主集群内直接查询挂载的源集群数据,让集群间的数据访问更加便捷高效。为防止源集群的数据被篡改,当前仅支持只读挂载模式。
📄️ 异常恢复
如何终止出现问题的连接、查询和事务以使系统恢复正常
📄️ 转义字符
TDengine TSDB 中使用转义字符的详细规则
📄️ 命名与边界
合法字符集和命名中的限制规则
📄️ 保留关键字
TDengine TSDB 保留关键字的详细列表
📄️ 语法变更
TDengine TSDB 3.0 版本的语法变更说明







