最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

详解使用python操作InfluxDB方法

来源:懂视网 责编:小采 时间:2020-11-27 14:25:37
文档

详解使用python操作InfluxDB方法

详解使用python操作InfluxDB方法:环境: CentOS6.5_x64InfluxDB版本:1.1.0Python版本 : 2.6准备工作启动服务器 执行如下命令: service influxdb start 示例如下:[root@localhost ~]# service influxdb start Starting influxdb... influxdb
推荐度:
导读详解使用python操作InfluxDB方法:环境: CentOS6.5_x64InfluxDB版本:1.1.0Python版本 : 2.6准备工作启动服务器 执行如下命令: service influxdb start 示例如下:[root@localhost ~]# service influxdb start Starting influxdb... 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) # 查询数据

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

    声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文档

    详解使用python操作InfluxDB方法

    详解使用python操作InfluxDB方法:环境: CentOS6.5_x64InfluxDB版本:1.1.0Python版本 : 2.6准备工作启动服务器 执行如下命令: service influxdb start 示例如下:[root@localhost ~]# service influxdb start Starting influxdb... influxdb
    推荐度:
    标签: 操作 python db
    • 热门焦点

    最新推荐

    猜你喜欢

    热门推荐

    专题
    Top