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

 

转载于:https://www.cnblogs.com/zhengws/articles/7169898.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你好!对于Java操作InfluxDB 1.7版本,你可以使用InfluxDB Java Client来实现。以下是一些基本示例代码,帮助你开始使用: 首先,你需要在你的项目中添加InfluxDB Java Client的依赖。你可以通过Maven或Gradle来添加依赖,具体可以参考InfluxDB Java Client的官方文档。 接下来,你需要创建一个InfluxDB对象,并连接到InfluxDB服务器: ```java import org.influxdb.InfluxDB; import org.influxdb.InfluxDBFactory; public class InfluxDBExample { public static void main(String[] args) { String url = "http://localhost:8086"; String username = "your-username"; String password = "your-password"; String database = "your-database"; InfluxDB influxDB = InfluxDBFactory.connect(url, username, password); influxDB.setDatabase(database); // 这里可以进行后续的操作,如查询数据、写入数据等 } } ``` 以上代码中,你需要将`url`、`username`、`password`和`database`替换为你自己的InfluxDB服务器的相关信息。 接下来,你可以执行一些基本操作,如查询数据、写入数据等。以下是一些示例代码: 1. 查询数据: ```java import org.influxdb.InfluxDB; import org.influxdb.InfluxDBFactory; import org.influxdb.dto.Query; import org.influxdb.dto.QueryResult; public class InfluxDBExample { public static void main(String[] args) { // ... String query = "SELECT * FROM your-measurement"; QueryResult queryResult = influxDB.query(new Query(query)); // 处理查询结果 // ... } } ``` 2. 写入数据: ```java import org.influxdb.InfluxDB; import org.influxdb.InfluxDBFactory; import org.influxdb.dto.Point; import org.influxdb.dto.Query; import java.util.concurrent.TimeUnit; public class InfluxDBExample { public static void main(String[] args) { // ... String measurement = "your-measurement"; String fieldKey = "your-field"; String fieldValue = "your-value"; Point point = Point.measurement(measurement) .time(System.currentTimeMillis(), TimeUnit.MILLISECONDS) .addField(fieldKey, fieldValue) .build(); influxDB.write(database, "", point); // 写入数据成功 } } ``` 以上示例代码中的`your-measurement`、`your-field`和`your-value`需要替换为你自己的实际数据。 希望这些示例代码能帮助你开始在Java中操作InfluxDB 1.7版本。如有任何进一步的问题,请随时向我提问!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值