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®.