第3章 IoTDB操作指南

数据维护

数据删除

用户使用DELETE语句可以删除指定的时间序列中符合时间删除条件的数据。在删除数据时,用户可以选择需要删除的一个或多个时间序列、时间序列的前缀、时间序列带*路径对某时间之前的数据进行删除(0.8.1版本暂不支持删除某一闭时间区间范围内的数据)。

在JAVA编程环境中,您可以使用JDBC API单条或批量执行UPDATE语句。

单传感器时间序列值删除

以测控ln集团为例,存在这样的使用场景:

wf02子站的wt02设备在2017-11-01 16:26:00之前的供电状态出现多段错误,且无法分析其正确数据,错误数据影响了与其他设备的关联分析。此时,需要将此时间段前的数据删除。进行此操作的SQL语句为:

delete from root.ln.wf02.wt02.status where time<=2017-11-01T16:26:00;

多传感器时间序列值删除

当ln集团wf02子站的wt02设备在2017-11-01 16:26:00之前的供电状态和设备硬件版本都需要删除,此时可以使用含义更广的前缀路径或带*路径进行删除操作,进行此操作的SQL语句为:

delete from root.ln.wf02.wt02 where time <= 2017-11-01T16:26:00;

delete from root.ln.wf02.wt02.* where time <= 2017-11-01T16:26:00;

需要注意的是,当删除的路径不存在时,IoTDB会提示路径不存在,无法删除数据,如下所示。

IoTDB> delete from root.ln.wf03.wt02.status where time < now()
Msg: TimeSeries does not exist and its data cannot be deleted