使用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": 89
-
}
-
}
-
]
-
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;') #刪除數據