influxdb 基本操作
一、InfluxDB操作方式
InfluxDB提供三种操作方式:
1)客户端命令行方式
2)HTTP API接口
3)各语言API库
二、InfluxDB数据库操作
如同MYSQL一样,InfluxDB提供多数据库支持,对数据库的操作也与MYSQL相同。
1、查看数据库:
> show databases; name: databases name ---- _internal default
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 204 No Content Content-Type: application/json Request-Id: 2524f870-68a8-11e7-800d-000000000000 X-Influxdb-Version: 1.2.4 Date: Fri, 14 Jul 2017 15:21:44 GMT
3、表查询
1、命令行查询
> select * from weather; name: weather time altitude area humidity temperature ---- -------- ---- -------- ----------- 1500045503532011423 1000 北 -4 11 1500045704506415754 1001 南 -5 12 > select * from weather 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 replicaN default ---- -------- ------------------ -------- ------- autogen 0s 168h0m0s 1 true
5、创建新的Retention Policies
> create retention policy "zws_policy" on zws duration 30d replication 1 default > show retention policies on zws; name duration shardGroupDuration replicaN default ---- -------- ------------------ -------- ------- autogen 0s 168h0m0s 1 false zws_policy 720h0m0s 24h0m0s 1 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 replicaN default ---- -------- ------------------ -------- ------- autogen 0s 168h0m0s 1 false zws_policy 504h0m0s 24h0m0s 1 true
7、删除Retention Policies
> drop retention policy "zws_policy" on zws > show retention policies on zws; name duration shardGroupDuration replicaN default ---- -------- ------------------ -------- ------- autogen 0s 168h0m0s 1 false