数据库管理

TSDB For InfluxDB®提供一整套的数据库管理命令。本文档主要讲解如何使用DELETE。

您可以通过TSDB For InfluxDB®的命令行界面(CLI)和HTTP API执行DELETE命令,此章节以TSDB For InfluxDB®的命令行界面(CLI)执行为例。想要获得更多使用HTTP API的信息,详情请参见HTTP API

数据管理

使用DELETE删除序列

使用DELETE语句,将会删除数据库中一个序列的所有数据点,但是它不会从索引中删除序列,并且支持在WHERE子句中使用时间间隔。

DELETE语句采用以下形式,您必须使用FROM子句或WHERE子句,或者两者都使用:

DELETE FROM <measurement_name> WHERE [<tag_key>='<tag_value>'] | [<time interval>]

删除measurement h2o_feet中的所有数据:

> DELETE FROM "h2o_feet"

删除measurement h2o_quality中tag randtag等于3对应的所有数据:

> DELETE FROM "h2o_quality" WHERE "randtag" = '3'

删除数据库中发生在2016年1月1日之前的所有数据:

> DELETE WHERE time < '2016-01-01'

成功执行DELETE后,将返回一个空的结果。

关于DELETE,需要注意的事项:

  • 当指定measurement名字时,DELETE支持在FROM子句中使用正则表达式;当指定tag value时,DELETE支持在WHERE子句中使用正则表达式。

  • DELETE不支持在WHERE子句使用field。

  • 如果您需要删除发生在now()之后的数据,您必须指定时间段,因为DELETE SERIES默认运行的时间是time < now()

InfluxDB® is a trademark registered by InfluxData, which is not affiliated with, and does not endorse, TSDB for InfluxDB®.