python连接influxdb_详解使用python操作InfluxDB方法

环境: CentOS6.5_x64

InfluxDB版本:1.1.0

Python版本 : 2.6启动服务器

执行如下命令:service influxdb start

示例如下:

[root@localhost ~]# service influxdb start

Starting influxdb...

influxdb process was started [ OK ]

[root@localhost ~]#

安装influxdb-python

github地址:https://github.com/influxdata/influxdb-python

安装pip :yum install python-pip

安装influxdb-python :pip install influxdb

基本操作

使用InfluxDBClient类操作数据库,示例如下:

from influxdb import InfluxDBClient

client = InfluxDBClient('localhost', 8086, 'root', '', '') # 初始化

显示已存在的所有数据库

使用get_list_database函数,示例如下:

print client.get_list_database() # 显示所有数据库名称创建新数据库

使用create_database函数,示例如下:

client.create_database('testdb') # 创建数据库删除数据库

使用drop_database函数,示例如下:

client.drop_database('testdb') # 删除数据库

数据库操作完整示例如下:#! /usr/bin/env python

#-*- coding:utf-8 -*-

from influxdb import InfluxDBClient

client = InfluxDBClient('localhost', 8086, 'root', '', '') # 初始化

print client.get_list_database() # 显示所有数据库名称

client.create_database('testdb') # 创建数据库

print client.get_list_database() # 显示所有数据库名称

client.drop_database('testdb') # 删除数据库

print client.get_list_database() # 显示所有数据库名称

表操作

InfluxDBClient中要指定连接的数据库,示例如下:

client = InfluxDBClient('localhost', 8086, 'root', '', 'testdb') # 初始化(指定要操作的数据库)

显示指定数据库中已存在的表

可以通过influxql语句实现,示例如下:

result = client.query('show measurements;') # 显示数据库中的表print("Result: {0}".format(result))

创建新表并添加数据

InfluxDB没有提供单独的建表语句,可以通过并添加数据的方式建表,示例如下:

json_body = [

{

"measurement": "students",

"tags": {

"stuid": "s123"

},

#"time": "2017-03-12T22:00:00Z",

"fields": {

"score": 89

}

}

]

client = InfluxDBClient('localhost', 8086, 'root', '', 'testdb') # 初始化(指定要操作的数据库)

client.write_points(json_body) # 写入数据,同时创建表

删除表

可以通过influxql语句实现,示例如下:

client.query("drop measurement students") # 删除表

数据表操作完整示例如下:

#! /usr/bin/env python

#-*- coding:utf-8 -*-

from influxdb import InfluxDBClient

json_body = [

{

"measurement": "students",

"tags": {

"stuid": "s123"

},

#"time": "2017-03-12T22:00:00Z",

"fields": {

"score": 89

}

}

]

def showDBNames(client):

result = client.query('show measurements;') # 显示数据库中的表

print("Result: {0}".format(result))

client = InfluxDBClient('localhost', 8086, 'root', '', 'testdb') # 初始化(指定要操作的数据库)

showDBNames(client)

client.write_points(json_body) # 写入数据,同时创建表

showDBNames(client)

client.query("drop measurement students") # 删除表

showDBNames(client)

数据操作

InfluxDBClient中要指定连接的数据库,示例如下:

client = InfluxDBClient('localhost', 8086, 'root', '', 'testdb') # 初始化(指定要操作的数据库)

添加

可以通过write_points实现,示例如下:

json_body = [

{

"measurement": "students",

"tags": {

"stuid": "s123"

},

#"time": "2017-03-12T22:00:00Z",

"fields": {

"score": 89

}

}

]

client.write_points(json_body) # 写入数据

可以通过influxql语句实现,示例如下:

result = client.query('select * from students;')

print("Result: {0}".format(result))

tags 和 timestamp相同时数据会执行覆盖操作,相当于InfluxDB的更新操作。删除

使用influxql语句实现,delete语法,示例如下:

client.query('delete from students;') # 删除数据

数据操作完整示例如下:#! /usr/bin/env python

#-*- coding:utf-8 -*-

from influxdb import InfluxDBClient

json_body = [

{

"measurement": "students",

"tags": {

"stuid": "s123"

},

#"time": "2017-03-12T22:00:00Z",

"fields": {

"score": 89

}

}

]

def showDatas(client):

result = client.query('select * from students;')

print("Result: {0}".format(result))

client = InfluxDBClient('localhost', 8086, 'root', '', 'testdb') # 初始化

client.write_points(json_body) # 写入数据

showDatas(client) # 查询数据

client.query('delete from students;') # 删除数据

showDatas(client) # 查询数据

好,就这些了,希望对你有帮助。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值