環境: CentOS6.5_x64
InfluxDB版本:1.1.0
Python版本 : 2.6
準備工作
執行如下命令:
service influxdb start
樣本如下:
[root@localhost ~]# service influxdb startStarting influxdb...influxdb process was started [ OK ][root@localhost ~]#
github地址:https://github.com/influxdata/influxdb-python
安裝pip :
yum install python-pip
安裝influxdb-python :
pip install influxdb
基本操作
使用InfluxDBClient類操作資料庫,樣本如下:
from influxdb import InfluxDBClientclient = 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 InfluxDBClientclient = 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 InfluxDBClientjson_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 InfluxDBClientjson_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) # 查詢資料
好,就這些了,希望對你有協助。