用python的flask框架写一个mysql接口的具体代码实现,并在localhost调试
时间: 2023-06-04 14:08:32 浏览: 136
python+mysql连接,编写接口.py
好的,以下是用Python Flask框架编写MySQL接口的代码实现:
```python
from flask import Flask, jsonify, request
import pymysql
app = Flask(__name__)
# MySQL连接信息
MYSQL_HOST = 'localhost'
MYSQL_PORT = 3306
MYSQL_USER = 'username'
MYSQL_PASSWORD = 'password'
MYSQL_DB = 'database_name'
# 连接MySQL数据库
mysql = pymysql.connect(host=MYSQL_HOST, port=MYSQL_PORT, user=MYSQL_USER, password=MYSQL_PASSWORD, database=MYSQL_DB)
# 查询数据接口
@app.route('/api/query_data', methods=['GET'])
def query_data():
try:
# 获取请求中的参数
name = request.args.get('name', '')
age = int(request.args.get('age', 0))
# 查询数据
cursor = mysql.cursor()
sql = f"SELECT * FROM `user` WHERE `name`='{name}' AND `age`={age}"
cursor.execute(sql)
results = cursor.fetchall()
# 封装接口返回的数据
data = []
for row in results:
item = {
'id': row[0],
'name': row[1],
'age': row[2]
}
data.append(item)
# 返回接口数据
return jsonify({'code': 0, 'message': 'success', 'data': data})
except Exception as e:
# 异常处理
return jsonify({'code': -1, 'message': str(e), 'data': None})
# 启动Flask应用
if __name__ == '__main__':
app.run(debug=True)
```
在本地调试的话,执行以上代码后,如果没有报错,可以在浏览器中访问接口:
http://localhost:5000/api/query_data?name=tom&age=18
其中name和age是查询条件,如果没有符合条件的数据,接口返回的数据为空数组[],如果查询失败,接口返回的code为-1,message为异常信息。
阅读全文