InfluxDB数据库操作
如同MYSQL一样,InfluxDB提供多数据库支持,对数据库的操作也与MYSQL相同
#创建数据库
create database "db_name"
#显示所有的数据库
show databases
#删除数据库
drop database "db_name"
#使用数据库
use db_name
1)新建数据库:
create database “hyp”
2)显示数据库:
> show databases
name: databases
name
_internal
hyp
3)删除数据库
> drop database "hyp"
> show databases
name: databases
name
_internal
4)使用某个数据库
use hyp
Using database hyp
InfluxDB数据表操作
在InfluxDB当中,并没有表(table)这个概念,取而代之的是MEASUREMENTS,MEASUREMENTS的功能与传统数据库中的表一致,因此我们也可以将MEASUREMENTS称为InfluxDB中的表。
#显示该数据库中所有的表
show measurements
#创建表,直接在插入数据的时候指定表名
insert test,host=127.0.0.1,monitor_name=test count=1
#删除表
drop measurement "measurement_name"
1)显示表:
> show measurements
name: measurements
name
disk_free
weather
2)创建表:
#InfluxDB中没有显式的新建表的语句,只能通过insert数据的方式来建立新表。
insert disk_free,hostname=server01 value=442221834240i 1435362189575692182 #其中 disk_free 就是表名,hostname是索引,value=xx是记录值,记录值可以有多个,最后是指定的时间
#当有三列时
insert test,name=tina,sex=female age=18
#当有超过三列时
insert weather,altitude=1000,area=北 temperature=11,humidity=-4
3)删除表:
> show measurements
name: measurements
name
disk_free
test
test1
test2
test3
weather
> drop measurement "test3"
> show measurements
name: measurements
name
disk_free
test
test1
test2
weather
InfluxDB数据操作
1.增
> insert weather,altitude=1001,area=南 temperature=10,humidity=-4
> select * from weather
name: weather
time altitude area humidity temperature
> 1607599240423844500 1000 北 -4 11
> 1607604432455278300 1001 南 -4 10
2.删
> > select * from weather
name: weather
time altitude area humidity temperature
> 1607599240423844500 1000 北 -4 11
> 1607604432455278300 1001 南 -4 10
> delete from weather where altitude=1000
ERR: shard 3: fields not supported in WHERE clause during deletion
> delete from weather where time=1607599240423844500
> select * from weather
name: weather
time altitude area humidity temperature
> 1607604432455278300 1001 南 -4 10
3.改
tags 和 timestamp相同时数据会执行覆盖操作,相当于InfluxDB的更新操作
> > select * from weather
name: weather
time altitude area humidity temperature
>1607604432455278300 1001 南 -4 10
> insert weather,altitude=1001,area=南 temperature=10,humidity=-5 1607604432455278300
> select * from weather
name: weather
time altitude area humidity temperature
>1607604432455278300 1001 南 -5 10
4.查
> select * from weather
name: weather
time altitude area humidity temperature
---- -------- ---- -------- -----------
1607604432455278300 1001 南 -5 10
其他查询操作
1 SHOW FIELD KEYS --查看当前数据库所有表的字段
2 SHOW series from pay --查看key数据
3 SHOW TAG KEYS FROM "pay" --查看key中tag key值
4 SHOW TAG VALUES FROM "pay" WITH KEY = "merId" --查看key中tag 指定key值对应的值
5 SHOW TAG VALUES FROM cpu WITH KEY IN ("region", "host") WHERE service = 'redis'
6 DROP SERIES FROM <measurement_name[,measurement_name]> WHERE <tag_key>='<tag_value>' --删除key
7 SHOW CONTINUOUS QUERIES --查看连续执行命令
8 SHOW QUERIES --查看最后执行命令
9 KILL QUERY <qid> --结束命令
10 SHOW RETENTION POLICIES ON mydb --查看保留数据
11 查询数据
12 SELECT * FROM /.*/ LIMIT 1 --查询当前数据库下所有表的第一行记录
13 select * from pay order by time desc limit 2
14 select * from db_name."POLICIES name".measurement_name --指定查询数据库下数据保留中的表数据 POLICIES name数据保留
15 删除数据
16 delete from "query" --删除表所有数据,则表就不存在了
17 drop MEASUREMENT "query" --删除表(注意会把数据保留删除使用delete不会)
18 DELETE FROM cpu
19 DELETE FROM cpu WHERE time < '2000-01-01T00:00:00Z'
20 DELETE WHERE time < '2000-01-01T00:00:00Z'
21 DROP DATABASE “testDB” --删除数据库
22 DROP RETENTION POLICY "dbbak" ON mydb --删除保留数据为dbbak数据
23 DROP SERIES from pay where tag_key='' --删除key中的tag
24
25 SHOW SHARDS --查看数据存储文件
26 DROP SHARD 1
27 SHOW SHARD GROUPS
28 SHOW SUBSCRIPTIONS