influxDB基本操作(详细)

本文详细介绍了InfluxDB的数据库操作,包括新建、显示和删除数据库,以及如何使用数据库。此外,还讲解了InfluxDB中MEASUREMENTS的概念,相当于传统数据库的表,并阐述了如何进行数据的增删改查操作,特别是数据覆盖更新的特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值