数据库管理
TSDB For InfluxDB®提供一整套的数据库管理命令。本文档主要讲解如何使用DELETE
。
如果您想要的是关于SHOW
的查询(例如,SHOW DATABASES
或者SHOW RETENTION POLICIES
),请查阅Schema探索章节。
以下章节中的示例使用了TSDB For InfluxDB®的命令行界面(CLI)。您也可以使用HTTP API来执行这些命令;只需向/query
路径发送GET
请求,并将命令包含在URL参数q
中。想要获得更多使用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®.
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。
评论