用flask框架写一个mysql接口的具体代码实现,在本地运行
时间: 2023-06-04 22:08:17 浏览: 112
以下是用Flask框架编写一个MySQL接口的代码实现,你可以在本地运行它:
```python
from flask import Flask, jsonify, request
import pymysql
app = Flask(__name__)
# MySQL数据库连接配置
db_host = "localhost"
db_port = 3306
db_user = "root"
db_password = "password"
db_name = "mydatabase"
# API接口路由
@app.route('/api/mysql', methods=['POST'])
def mysql_api():
# 获取POST请求中的参数
query = request.json.get('query')
args = request.json.get('args', [])
# 连接MySQL数据库
conn = pymysql.connect(
host=db_host,
port=db_port,
user=db_user,
password=db_password,
db=db_name,
cursorclass=pymysql.cursors.DictCursor
)
# 执行SQL查询
cursor = conn.cursor()
cursor.execute(query, args)
rows = cursor.fetchall()
# 将查询结果转换为JSON格式
result = jsonify({'data': rows})
# 关闭数据库连接
cursor.close()
conn.close()
return result
if __name__ == '__main__':
app.run()
```
使用POST请求访问`/api/mysql`接口,需要传递以下两个参数:
- `query`:要执行的SQL查询语句,例如`SELECT * FROM users WHERE age > %s`。
- `args`:查询语句中的参数列表,以数组形式传递,例如`[18]`。
例如,要查询`users`表中年龄大于18岁的用户,可以发送以下POST请求:
```
POST /api/mysql
Content-Type: application/json
{
"query": "SELECT * FROM users WHERE age > %s",
"args": [18]
}
```
接口将返回以下JSON格式的查询结果:
```
{
"data": [
{ "id": 1, "name": "Alice", "age": 20 },
{ "id": 2, "name": "Bob", "age": 19 }
]
}
```
阅读全文