在 flask 中使用 flask-mysql 连接数据库

最初尝试了 pymysql + flask 的方式连接数据库,但是发现会出现超时等各种问题,经 Stack Overflow 的一个帖子提示,可以使用 flask-mysql 来更方便地连接数据库

项目地址

GitHub:https://github.com/cyberdelia/flask-mysql 官方文档:https://flask-mysql.readthedocs.io/en/latest/

安装

1
pip install flask-mysql

使用示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
from flask import Flask
from flaskext.mysql import MySQL

app = Flask(__name__)
mysql = MySQL()
app.config['MYSQL_DATABASE_USER'] = 'root'
app.config['MYSQL_DATABASE_PASSWORD'] = 'root'
app.config['MYSQL_DATABASE_DB'] = 'EmpData'
app.config['MYSQL_DATABASE_HOST'] = 'localhost'
mysql.init_app(app)

conn = mysql.connect()

@app.route('/')
def foo():
    with conn.cursor() as cursor:
        cursor.execute('SELECT * FROM employees')
        return str(cursor.fetchall())