使用Python操作InfluxDB時序資料庫
阿新 • • 發佈:2020-09-16
使用Python操作InfluxDB時序資料庫
安裝python包
influxdb,這裡我安裝的是5.3.0版本
pip install influxdb==5.3.0
使用
- from influxdb import InfluxDBClient
- conn_db=InfluxDBClient('127.0.0.1','8086','u_wyk13195','p_wyk13195','my_monitor')
- 1 #資料庫操作
- conn_db.create_database('testdb') #建立資料庫
-
print(conn_db.get_list_database()) #顯示所有資料庫名稱
- conn_db.drop_database('testdb') #刪除資料庫
- print(conn_db.get_list_database()) #顯示所有資料庫名稱
- 2 #表操作
- #influxDB沒有提供單獨的建表語句,可以通過並新增資料的方式建表,示例如下:
- json_body = [
- {
- "measurement": "students",
- "tags": {
- "stuid": "s123"
- },
- #"time": "2017-03-12T22:00:00Z",
- "fields": {
-
"score"
- }
- }
- ]
- conn_db.write_points(json_body) #寫入資料,同時建立表
- result = conn_db.query("show measurements") #顯示資料庫中的表
- print("Result: {}".format(result))
- 3 #查詢:可以通過influxql語句實現,示例如下:
- result = conn_db.query('select * from students;')
- print("Result: {0}".format(result))
-
4 #通過influxql語句實現
- conn_db.query('drop measurement students') #刪除表
- result = conn_db.query("show measurements") #顯示資料庫中的表
- print("Result: {}".format(result))
- # 5 更新
- # tags和timestamp相同時資料會覆蓋操作,相當於influxDB的更新操作
- # 6 刪除
- # 使用influxql語句實現,delete語法,示例如下"
- # client.query('delete from students;') #刪除資料