ホームページ  >  記事  >  バックエンド開発  >  Pythonを使ったInfluxDBの操作方法を詳しく解説

Pythonを使ったInfluxDBの操作方法を詳しく解説

高洛峰
高洛峰オリジナル
2017-03-14 15:28:0111376ブラウズ

環境: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 ~]#

gitハブアドレスhttps://github.com/influxdata/influxdb-python

Instすべての 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' )#

    waTEABASE

DELETEデータベース完全な例は次のとおりです:

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

テーブルの削除

  • の例は次のとおりです:

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') # 初始化(指定要操作的数据库)

Add

can pass write _ポイント

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

client.write_points(json_body) # 写入数据

query
  • は influxql ステートメントを通じて実装できます。例は次のとおりです:

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

  • アップデート

タグとタイムスタンプ 同時に、データの上書き操作が実行されます。これは、InfluxDB の更新操作と同等です。

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)  # 查询数据
  • わかりました、以上です、お役に立てば幸いです。

以上がPythonを使ったInfluxDBの操作方法を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。