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)创建表:
1 #InfluxDB中没有显式的新建表的语句,只能通过insert数据的方式来建立新表。 2 insert disk_free,hostname=server01 value=442221834240i 1435362189575692182 #其中 disk_free 就是表名,hostname是索引,value=xx是记录值,记录值可以有多个,最后是指定的时间 3 4 #当有三列时 5 insert test,name=tina,sex=female age=18 6 7 #当有超过三列时 8 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