使用 InfluxQL 管理您的数据
使用以下数据管理命令,通过 InfluxQL 写入和删除数据
使用 INSERT 写入数据
INSERT
语句将 Line Protocol 写入数据库和保留策略。
语法
INSERT [INTO <database>[.<retention-policy>]] <line-protocol>
INTO
子句是可选的。如果命令不包含INTO
,则在使用 InfluxQL shell 时,或者在 InfluxDB 1.x 兼容性 API 请求中使用db
查询字符串参数时,必须使用USE <database_name>
指定数据库。
示例
将数据插入到特定数据库和保留策略中
INSERT INTO mydb.myrp example-m,tag1=value1 field1=1i 1640995200000000000
将数据插入到数据库的默认保留策略中
INSERT INTO mydb example-m,tag1=value1 field1=1i 1640995200000000000
将数据插入到当前使用的数据库中
以下示例使用 InfluxQL shell。
> USE mydb
> INSERT example-m,tag1=value1 field1=1i 1640995200000000000
使用 DELETE 删除序列
DELETE
语句从数据库中的 序列 中删除所有数据点。
语法
DELETE FROM <measurement_name> WHERE [<tag_key>='<tag_value>'] | [<time interval>]
您必须包含 FROM
子句、WHERE
子句 或两者都包含。
示例
删除所有测量数据
删除与测量 h2o_feet
关联的所有数据
DELETE FROM "h2o_feet"
删除具有特定标签值的测量中的数据
删除与测量 h2o_quality
关联的所有数据,以及标签 randtag
等于 3
的数据
DELETE FROM "h2o_quality" WHERE "randtag" = '3'
删除指定时间之前或之后的数据
删除数据库中 2020 年 1 月 1 日之前的所有数据
DELETE WHERE time < '2020-01-01'
成功的 DELETE
查询返回空结果。
如果您需要在将来删除数据点,则必须指定将来的时间段,因为默认情况下 DELETE SERIES
针对 time < now()
运行。
删除将来的数据点
DELETE FROM device_data WHERE "device" = 'sensor1" and time > now() and < '2024-01-14T01:00:00Z'
删除指定时间范围内的将来的数据点
DELETE FROM device_data WHERE "device" = 'sensor15" and time >= '2024-01-01T12:00:00Z' and <= '2025-06-30T11:59:00Z'
使用 DROP MEASUREMENT 删除测量
DROP MEASUREMENT
语句从指定的 测量 中删除所有数据和序列,并从索引中删除该测量。
语法
DROP MEASUREMENT <measurement_name>
示例
删除测量 h2o_feet
DROP MEASUREMENT "h2o_feet"
成功的 DROP MEASUREMENT
查询返回空结果。
DROP MEASUREMENT 命令非常消耗资源。我们不建议将此命令用于批量数据删除。请改用资源消耗较少的 DELETE FROM 命令。
此页是否对您有帮助?
感谢您的反馈!