flask mysql
Flask 是一种轻量级的 Python Web 框架,而 MySQL是一种流行的关系型数据库管理系统。本文将详细介绍如何在 Flask 中使用 MySQL 数据库。我们将从安装依赖开始,逐步讲解如何连接 MySQL 数据库、执行 SQL 查询和操作数据库数据。
1. 安装依赖
在使用 Flask 和 MySQL 之前,我们需要安装相应的依赖。打开终端,运行以下命令来安装 Flask 和 MySQL 的 Python 包:
pip install flask mysql-connector-python
这里我们使用 mysql-connector-python
包来连接和操作 MySQL 数据库。
2. 连接 MySQL 数据库
在 Flask 中连接 MySQL 数据库需要配置数据库连接参数,比如数据库的主机名、用户名、密码以及要使用的数据库名称等。将下面的代码添加到 Flask 应用的主文件中:
from flask import Flask
from flaskext.mysql import MySQL
app = Flask(__name__)
app.config['MYSQL_DATABASE_HOST'] = 'localhost'
app.config['MYSQL_DATABASE_USER'] = 'your_username'
app.config['MYSQL_DATABASE_PASSWORD'] = 'your_password'
app.config['MYSQL_DATABASE_DB'] = 'your_database'
mysql = MySQL(app)
这里我们通过 Flask 的 app.config
配置项设置了 MySQL 数据库的连接参数,并创建了一个 MySQL
对象。你需要将 'your_username'
、'your_password'
和 'your_database'
分别替换为你实际使用的数据库用户名、密码和数据库名称。
3. 执行 SQL 查询
连接 MySQL 数据库后,我们可以执行 SQL 查询来获取数据。以下是一个示例代码,展示了如何从数据库中获取用户列表:
from flask import Flask, jsonify
@app.route('/users', methods=['GET'])
def get_users():
conn = mysql.connect()
cursor = conn.cursor()
cursor.execute('SELECT * FROM users')
users = cursor.fetchall()
cursor.close()
conn.close()
return jsonify(users)
这里我们使用了 Flask 的路由装饰器 @app.route
来定义了一个 /users
的接口,当发送 GET 请求到该接口时,会执行 get_users
函数。函数内部通过调用 mysql.connect()
来获取数据库连接对象,并创建了一个游标对象 cursor
,然后执行 SQL 查询 SELECT * FROM users
获取全部用户数据。最后关闭游标和数据库连接,并返回 JSON 格式的用户数据。
4. 操作数据库数据
除了查询数据,我们还可以对数据库进行插入、更新和删除等操作。以下是一个示例代码,演示了如何向数据库中插入一条新的用户数据:
from flask import Flask, request
@app.route('/users', methods=['POST'])
def create_user():
data = request.get_json()
username = data['username']
email = data['email']
conn = mysql.connect()
cursor = conn.cursor()
cursor.execute('INSERT INTO users (username, email) VALUES (%s, %s)', (username, email))
conn.commit()
cursor.close()
conn.close()
return 'User created successfully!'
这里我们定义了一个 /users
的 POST 接口,当发送 POST 请求到该接口时,会执行 create_user
函数。函数内部首先使用 request.get_json()
来获取客户端传递过来的 JSON 数据,然后提取出用户名和邮箱。接下来通过执行 INSERT INTO 语句将数据插入到数据库中,并在插入操作完成后通过 conn.commit()
提交事务。最后关闭游标和数据库连接,并返回成功的响应消息。
5. 运行 Flask 应用
完成以上步骤后,我们可以运行 Flask 应用来测试与 MySQL 数据库的连接和操作。在终端中执行以下命令:
export FLASK_APP=app.py
export FLASK_ENV=development
flask run
其中 app.py
是 Flask 应用的主文件名。运行成功后,可以在浏览器或使用工具如 Postman 发送请求来测试接口。
这是一个简单的基于 Flask 和 MySQL 的应用示例。通过配置数据库连接参数、执行 SQL 查询和操作数据库数据,我们可以轻松使用 MySQL 数据库来存储和获取数据。当然,这只是一个入门级的示例,实际的应用可能会更复杂和完善,例如增加用户认证、数据验证和错误处理等。