flask influxdb 数据库连接的增删查功能
时间: 2023-07-20 17:08:06 浏览: 148
在 Flask 中使用 InfluxDB 数据库进行增删查操作,可以使用 `influxdb` 模块。首先需要安装该模块:
```python
pip install influxdb
```
然后在 Flask 中引入该模块并创建 InfluxDB 客户端:
```python
from influxdb import InfluxDBClient
client = InfluxDBClient(host='localhost', port=8086)
client.switch_database('mydb')
```
以上代码中,`host` 和 `port` 分别指定了 InfluxDB 服务器的地址和端口号,`switch_database` 方法可以切换到指定的数据库。
接下来,可以实现增删查功能:
1. 插入数据
```python
def insert_data(measurement, tags, fields):
json_body = [{
"measurement": measurement,
"tags": tags,
"fields": fields
}]
client.write_points(json_body)
```
以上代码中,`measurement` 表示要插入的表名,`tags` 是一个字典,包含标签信息,`fields` 也是一个字典,包含字段信息。
2. 删除数据
```python
def delete_data(measurement, tags):
query = f"DELETE FROM {measurement} WHERE {' AND '.join([f'{k}={v}' for k, v in tags.items()])}"
client.query(query)
```
以上代码中,`measurement` 表示要删除的表名,`tags` 是一个字典,包含要删除的数据的标签信息。
3. 查询数据
```python
def query_data(measurement, tags):
query = f"SELECT * FROM {measurement} WHERE {' AND '.join([f'{k}={v}' for k, v in tags.items()])}"
result = client.query(query)
return result.get_points()
```
以上代码中,`measurement` 表示要查询的表名,`tags` 是一个字典,包含要查询的数据的标签信息。`query` 方法执行查询语句,`get_points` 方法返回查询结果。
阅读全文