一、InfluxDB操作方式
InfluxDB提供三种操作方式:
1)客户端命令行方式
2)HTTP API接口
3)各语言API库
二、InfluxDB数据库操作
如同MYSQL一样,InfluxDB提供多数据库支持,对数据库的操作也与MYSQL相同。
1、查看数据库:
>show databases;
name: databases
name----_internaldefault
2、新建数据库
>create database test>show databases
name: databases
name----__internal
default
test
3、删除数据库
> drop database test
4、进入数据库
> use test
三、InfluxDB数据表操作
在InfluxDB当中,并没有表(table)这个概念,取而代之的是MEASUREMENTS,MEASUREMENTS的功能与传统数据库中的表一致,因此我们也可以将MEASUREMENTS称为InfluxDB中的表
1、显示表信息
>SHOW MEASUREMENTS
name: measurements------------------name
weather
2、新建表
InfluxDB中没有显式的新建表的语句,只能通过insert数据的方式来建立新表
#使用命令行创建> insert weather,altitude=1000,area=北 temperature=11,humidity=-4#使用http-api创建
zhengws@ubuntu:~/Downloads$ curl -i -XPOST 'http://localhost:8086/write?db=zws' --data-binary 'weather,altitude=1001,area=南 temperature=12,humidity=-5'HTTP/1.1 204No Content
Content-Type: application/json
Request-Id: 2524f870-68a8-11e7-800d-000000000000X-Influxdb-Version: 1.2.4Date: Fri,14 Jul 2017 15:21:44 GMT
3、表查询
1、命令行查询
> select * fromweather;
name: weather
time altitude area humidity temperature---- -------- ---- -------- -----------
1500045503532011423 1000 北 -4 11
1500045704506415754 1001 南 -5 12
> select * fromweather order by time desc ;
name: weather
time altitude area humidity temperature---- -------- ---- -------- -----------
1500045704506415754 1001 南 -5 12
1500045503532011423 1000 北 -4 11
2、curl 方式查询:
curl -G 'http://localhost:8086/query?pretty=true' --data-binary 'db=zws' --data-urlencode 'q=select * from weather order by time desc'{"results": [
{"statement_id": 0,"series": [
{"name": "weather","columns": ["time","altitude","area","humidity","temperature"],"values": [
["2017-07-14T15:21:44.506415754Z","1001","南",-5,12],
["2017-07-14T15:18:23.532011423Z","1000","北",-4,11]
]
}
]
}
]
}
4、查看表默认保留策略
>show retention policies on zws;
name duration shardGroupDuration replicaNdefault
---- -------- ------------------ -------- -------autogen 0s 168h0m0s1 true
5、创建新的Retention Policies
> create retention policy "zws_policy" on zws duration 30d replication 1 default
>show retention policies on zws;
name duration shardGroupDuration replicaNdefault
---- -------- ------------------ -------- -------autogen 0s 168h0m0s1 falsezws_policy 720h0m0s 24h0m0s1 true
1. zws_policy:策略名2. zws:具体的数据库名3. 30d:保存30天,30天之前的数据将被删除
它具有各种时间参数,比如:h(小时),w(星期)4. REPLICATION 1:副本个数,这里填1就可以了5. DEFAULT 设为默认的策略
6、修改Retention Policies
> alter retention policy "zws_policy" on zws duration 3w default
>show retention policies on zws;
name duration shardGroupDuration replicaNdefault
---- -------- ------------------ -------- -------autogen 0s 168h0m0s1 falsezws_policy 504h0m0s 24h0m0s1 true
7、删除Retention Policies
> drop retention policy "zws_policy"on zws>show retention policies on zws;
name duration shardGroupDuration replicaNdefault
---- -------- ------------------ -------- -------autogen 0s 168h0m0s1 false