常用SQL语句

数据库管理

数据库(Database)类似关系数据库中的 Database,是一组结构化的时序数据的集合。

  • 创建数据库

创建一个名为 root.ln 的数据库,语法如下:

  1. CREATE DATABASE root.ln
  • 查看数据库

查看所有数据库:

  1. SHOW DATABASES
  • 删除数据库

删除名为 root.ln 的数据库:

  1. DELETE DATABASE root.ln
  • 统计数据库数量

统计数据库的总数

  1. COUNT DATABASES

时间序列管理

时间序列(Timeseries)是以时间为索引的数据点的集合,在IoTDB中时间序列指的是一个测点的完整序列,本节主要介绍时间序列的管理方式。

  • 创建时间序列

需指定编码方式与数据类型。例如创建一条名为root.ln.wf01.wt01.temperature的时间序列:

  1. CREATE TIMESERIES root.ln.wf01.wt01.temperature WITH datatype=FLOAT,ENCODING=RLE
  • 查看时间序列

查看所有时间序列:

  1. SHOW TIMESERIES

使用通配符匹配数据库root.ln下的时间序列:

  1. SHOW TIMESERIES root.ln.**
  • 删除时间序列

删除名为 root.ln.wf01.wt01.temperature 的时间序列

  1. DELETE TIMESERIES root.ln.wf01.wt01.temperature
  • 统计时间序列

统计时间序列的总数

  1. COUNT TIMESERIES root.**

统计某通配符路径下的时间序列数量:

  1. COUNT TIMESERIES root.ln.**

时间序列路径管理

除时间序列概念外,IoTDB中还有子路径、设备的概念。

**子路径:**是一条完整时间序列名称中的一部分路径,如时间序列名称为root.ln.wf01.wt01.temperature,则root.ln、root.ln.wf01、root.ln.wf01.wt01都是其子路径。

**设备:**是一组时间序列的组合,在 IoTDB 中设备是由root至倒数第二级节点的子路径,如时间序列名称为root.ln.wf01.wt01.temperature,则root.ln.wf01.wt01是其设备

  • 查看设备
  1. SHOW DEVICES
  • 查看子路径

查看 root.ln 的下一层:

  1. SHOW CHILD PATHS root.ln
  • 查看子节点

查看 root.ln 的下一层:

  1. SHOW CHILD NODES root.ln
  • 统计设备数量

统计所有设备

  1. COUNT DEVICES
  • 统计节点数

统计路径中指定层级的节点个数

  1. COUNT NODES root.ln.** LEVEL=2

查询数据

以下为IoTDB中常用查询语句。

  • 查询指定时间序列的数据

查询root.ln.wf01.wt01设备下的所有时间序列的数据

  1. SELECT * FROM root.ln.wf01.wt01
  • 查询某时间范围内的时间序列数据

查询root.ln.wf01.wt01.temperature时间序列中时间戳大于 2022-01-01T00:05:00.000 的数据

  1. SELECT temperature FROM root.ln.wf01.wt01 WHERE time > 2022-01-01T00:05:00.000
  • 查询数值在指定范围内的时间序列数据

查询root.ln.wf01.wt01.temperature时间序列中数值大于 36.5 的数据:

  1. SELECT temperature FROM root.ln.wf01.wt01 WHERE temperature > 36.5
  • 使用 last 查询最新点数据
  1. SELECT last * FROM root.ln.wf01.wt01