Flask与MySQL集成开发

简介
Flask 是一个轻量级的 Python Web 框架,它非常适合快速开发 Web 应用程序。MySQL 则是一种流行的关系型数据库管理系统,被广泛用于存储和管理数据。在实际的 Web 开发中,经常需要将 Flask 与 MySQL 集成,以实现数据的存储和读取。本文将介绍如何在 Flask 中使用 MySQL 数据库,并实现基本的 CRUD 操作。
准备工作
在开始之前,我们需要安装一些必要的库以便实现 Flask 与 MySQL 的集成:
pip install Flask
pip install flask-mysql
pip install mysqlclient
配置 MySQL 数据库
首先,我们需要在本地计算机上安装并启动 MySQL 数据库。您可以选择适合您操作系统的版本,并按照官方文档的步骤进行安装和启动。安装完成后,我们需要创建一个新的数据库和表,以便存储我们的数据。以下是一个示例 SQL 语句用于创建一个名为 users 的表:
CREATE DATABASE flask_demo;
USE flask_demo;
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL,
email VARCHAR(50) NOT NULL
);
集成 Flask 和 MySQL
接下来,我们将创建一个基本的 Flask 应用,并通过 Flask-MySQL 扩展来实现与 MySQL 的连接。本示例中,我们将实现对 users 表的增删改查操作。
from flask import Flask, request, jsonify
from flaskext.mysql import MySQL
app = Flask(__name__)
# MySQL configurations
app.config['MYSQL_DATABASE_USER'] = 'root'
app.config['MYSQL_DATABASE_PASSWORD'] = 'password'
app.config['MYSQL_DATABASE_DB'] = 'flask_demo'
app.config['MYSQL_DATABASE_HOST'] = 'localhost'
mysql = MySQL()
mysql.init_app(app)
@app.route('/users', methods=['GET'])
def get_users():
cur = mysql.get_db().cursor()
cur.execute("SELECT * FROM users")
rows = cur.fetchall()
return jsonify(rows)
@app.route('/users', methods=['POST'])
def add_user():
username = request.json['username']
email = request.json['email']
cur = mysql.get_db().cursor()
cur.execute("INSERT INTO users (username, email) VALUES (%s, %s)", (username, email))
mysql.get_db().commit()
return 'User added'
@app.route('/users/<int:id>', methods=['PUT'])
def update_user(id):
username = request.json['username']
email = request.json['email']
cur = mysql.get_db().cursor()
cur.execute("UPDATE users SET username=%s, email=%s WHERE id=%s", (username, email, id))
mysql.get_db().commit()
return 'User updated'
@app.route('/users/<int:id>', methods=['DELETE'])
def delete_user(id):
cur = mysql.get_db().cursor()
cur.execute("DELETE FROM users WHERE id=%s", id)
mysql.get_db().commit()
return 'User deleted'
if __name__ == '__main__':
app.run(debug=True)
运行示例
保存以上代码为 app.py 文件,并在命令行中运行以下命令:
python app.py
这将启动 Flask 服务器。现在,您可以使用 Postman 或浏览器访问以下端点来测试 API:
- GET
/users:获取所有用户 - POST
/users:添加新用户 - PUT
/users/<id>:更新用户信息 - DELETE
/users/<id>:删除用户
结语
通过本文,您学习了如何在 Flask 中集成 MySQL 数据库,并实现了基本的 CRUD 操作。当然,实际的应用开发中可能会更加复杂,您可能需要添加身份验证、异常处理等功能。
极客教程