Maison  >  Article  >  développement back-end  >  Explication détaillée du fonctionnement d'InfluxDB en utilisant Python

Explication détaillée du fonctionnement d'InfluxDB en utilisant Python

高洛峰
高洛峰original
2017-03-14 15:28:0111365parcourir

Environnement : CentOS6.5_x64
Version InfluxDB : 1.1.0
Python version : 2.6

Préparation

  • Démarrez le serveur

Exécutez la commande suivante :

  service influxdb start

L'exemple est le suivant :

[root@localhost ~]# service influxdb start
Starting influxdb...
influxdb process was started [ OK ]
[root@localhost ~]#

gitadresse du hub : https : //github.com/influxdata/influxdb-python

Installer pip :

yum install python-pip

Installer influxdb-python :

pip install influxdb

Opérations de base

Utilisez la classe InfluxDBClient pour faire fonctionner la base de données, l'exemple est le suivant :

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

  • Afficher toutes les bases de données existantes

Utiliser la fonction get_list_database, l'exemple est le suivant :

 print client.get_list_database() # Afficher tous les noms de bases de données

  • Créer une nouvelle base de données

Utilisez la fonction create_database, l'exemple est le suivant :

client.create_database('testdb') # Créer une base de données

Utiliser la fonction drop_database, l'exemple est le suivant :

client.drop_database( 'testdb') # Supprimer la base de données

Opération de base de donnéesL'exemple complet est le suivant :

#! /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() # 显示所有数据库名称

Opération de table

La base de données à connecter est spécifiée dans InfluxDBClient. Un exemple est le suivant :

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

<.>
  • Afficher les tables existantes dans la base de données spécifiée

Cela peut être réalisé via l'instruction influxql L'exemple est le suivant :

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

    Créer une nouvelle table et ajouter des données
  • InfluxDB ne fournit pas d'instruction de création de table distincte. Vous pouvez. créer un tableau en ajoutant des données L'exemple est le suivant :

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) # 写入数据,同时创建表

    Supprimer un tableau
  • peut être réalisé via l'instruction influxql, l'exemple est le suivant :

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

L'exemple complet d'opération de table de données

est la suivante :

#! /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)

Opération sur les données

La base de données à connecter est spécifiée dans InfluxDBClient. L'exemple est le suivant :

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

    L'ajout de
  • peut être réalisé via write_points, l'exemple est le suivant suit :

json_body = [
    {
        "measurement": "students",
        "tags": {
            "stuid": "s123"
        },
        #"time": "2017-03-12T22:00:00Z",
        "fields": {
            "score": 89
        }
    }
]

client.write_points(json_body) # 写入数据

  • La requête

  • peut être implémenté via l'instruction influxql, les exemples sont les suivants :

result = client.query('select * from students;')    
print("Result: {0}".format(result))

  • Mise à jour

  • tags Lorsqu'il s'agit de la même chose que l'horodatage, les données effectueront une opération d'écrasement, ce qui équivaut à l'opération de mise à jour d'InfluxDB.

    Delete
  • est implémenté à l'aide de l'instruction influxql, la syntaxe
delete

, l'exemple est le suivant :

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

Un exemple complet d'opération de données est le suivant :

#! /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(&#39;select * from students;&#39;)
        print("Result: {0}".format(result))

client = InfluxDBClient(&#39;localhost&#39;, 8086, &#39;root&#39;, &#39;&#39;, &#39;testdb&#39;) # 初始化
client.write_points(json_body) # 写入数据
showDatas(client)  # 查询数据
client.query(&#39;delete from students;&#39;) # 删除数据
showDatas(client)  # 查询数据

D'accord, c'est tout, j'espère que c'est utile pour vous.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn