0%

InfluxDB基本操作

InfluxDB中的一些基本操作,包括数据的增删改查、数据库与表的操作等。

1
insert weather,altitude=1000,area=北 temperature=11,humidity=-4

删与改

在InfluxDB中并没有提供数据的删除与修改方法。
不过我们可以通过数据保存策略(Retention Policies)来实现删除。

1
2
# 查询最新的三条数据
SELECT * FROM weather ORDER BY time DESC LIMIT 3

数据库操作

1
2
3
4
5
6
7
8
# 创建数据库
CREATE DATABASE "db_name"
# 显示所有数据库
SHOW DATABASES
# 删除数据库
DROP DATABASE "db_name"
# 使用数据库
USE mydb

表的操作

1
2
3
4
5
6
7
8
9
10
11
# 显示该数据库中的表
SHOW MEASUREMENTS
# 创建表
# 直接在插入数据的时候指定表名(weather就是表名)
insert weather,altitude=1000,area=北 temperature=11,humidity=-4
# 查询表的tag字段
show tag keys from measurement
# 查询表的field字段
show field keys from measurement
# 删除表
DROP MEASUREMENT "measurementName"

数据保存策略(Retention Policies)

用于指定数据的保留时间:当数据超过了指定的时间之后,就会被删除。

1
2
3
4
5
6
7
8
# 查看当前数据库的Retention Policies
SHOW RETENTION POLICIES ON "testDB"
# 创建新的Retention Policies
CREATE RETENTION POLICY "rp_name" ON "db_name" DURATION 30d REPLICATION 1 DEFAULT
# 修改Retention Policies
ALTER RETENTION POLICY "rp_name" ON "db_name" DURATION 3w DEFAULT
# 删除Retention Policies
DROP RETENTION POLICY "rp_name" ON "db_name"

连续查询

1
2
3
4
5
6
# 查看当前数据库的Continuous Queries
SHOW CONTINUOUS QUERIES
# 创建新的Continuous Queries
CREATE CONTINUOUS QUERY cq_30m ON testDB BEGIN SELECT mean(temperature) INTO weather30m FROM weather GROUP BY time(30m) END
# 删除Continuous Queries
DROP CONTINUOUS QUERY cq_30m ON testDB

用户管理

1
2
3
4
5
6
7
8
# 显示用户
SHOW USERS
# 创建用户
CREATE USER "username" WITH PASSWORD 'password'
# 创建管理员权限的用户
CREATE USER "username" WITH PASSWORD 'password' WITH ALL PRIVILEGES
# 删除用户
DROP USER "username"