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

 

posted on 2020-12-10 16:51  童话Bluebells  阅读(987)  评论(0编辑  收藏  举报