1. 程式人生 > 實用技巧 >使用Python操作InfluxDB時序資料庫

使用Python操作InfluxDB時序資料庫

使用Python操作InfluxDB時序資料庫

安裝python包

influxdb,這裡我安裝的是5.3.0版本

pip install influxdb==5.3.0

使用

  1. from influxdb import InfluxDBClient
  2. conn_db=InfluxDBClient('127.0.0.1','8086','u_wyk13195','p_wyk13195','my_monitor')
  3. 1 #資料庫操作
  4. conn_db.create_database('testdb') #建立資料庫
  5. print(conn_db.get_list_database()) #顯示所有資料庫名稱
  6. conn_db.drop_database('testdb') #刪除資料庫
  7. print(conn_db.get_list_database()) #顯示所有資料庫名稱
  8. 2 #表操作
  9. #influxDB沒有提供單獨的建表語句,可以通過並新增資料的方式建表,示例如下:
  10. json_body = [
  11. {
  12. "measurement": "students",
  13. "tags": {
  14. "stuid": "s123"
  15. },
  16. #"time": "2017-03-12T22:00:00Z",
  17. "fields": {
  18. "score"
    : 89
  19. }
  20. }
  21. ]
  22. conn_db.write_points(json_body) #寫入資料,同時建立表
  23. result = conn_db.query("show measurements") #顯示資料庫中的表
  24. print("Result: {}".format(result))
  25. 3 #查詢:可以通過influxql語句實現,示例如下:
  26. result = conn_db.query('select * from students;')
  27. print("Result: {0}".format(result))
  28. 4 #通過influxql語句實現
  29. conn_db.query('drop measurement students') #刪除表
  30. result = conn_db.query("show measurements") #顯示資料庫中的表
  31. print("Result: {}".format(result))
  32. # 5 更新
  33. # tags和timestamp相同時資料會覆蓋操作,相當於influxDB的更新操作
  34. # 6 刪除
  35. # 使用influxql語句實現,delete語法,示例如下"
  36. # client.query('delete from students;') #刪除資料