flask + pymysql操作Mysql数据库的实例
Flask是一个轻量级的Python Web框架,可以用于快速搭建Web应用,PyMySQL是Python中操作MySQL数据库的一个库,它是基于MySQL C API的Python封装,提供了Python风格的API来操作MySQL数据库。
下面是一个使用Flask和PyMySQL操作MySQL数据库的实例:
1. 首先安装Flask和PyMySQL库:
pip install Flask PyMySQL
2. 创建一个Flask应用,并配置数据库连接信息:
from flask import Flask, render_template, request, redirect, url_for import pymysql app = Flask(__name__) app.config['MYSQL_HOST'] = 'localhost' app.config['MYSQL_USER'] = 'root' app.config['MYSQL_PASSWORD'] = 'your_password' app.config['MYSQL_DB'] = 'your_database' app.config['MYSQL_CURSORCLASS'] = 'pymysql.cursors.DictCursor'
3. 定义一个路由,用于展示数据列表页面:
@app.route('/') def index(): conn = pymysql.connect(host=app.config['MYSQL_HOST'], user=app.config['MYSQL_USER'], password=app.config['MYSQL_PASSWORD'], db=app.config['MYSQL_DB'], cursorclass=app.config['MYSQL_CURSORCLASS']) with conn.cursor() as cursor: sql = "SELECT * FROM your_table" cursor.execute(sql) results = cursor.fetchall() conn.close() return render_template('index.html', results=results)
4. 创建一个HTML模板文件`index.html`,用于展示数据列表:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>数据列表</title> </head> <body> <h1>数据列表</h1> <table> <tr> <th>ID</th> <th>名称</th> <th>年龄</th> </tr> {% for row in results %} <tr> <td>{{ row['id'] }}</td> <td>{{ row['name'] }}</td> <td>{{ row['age'] }}</td> </tr> {% endfor %} </table> </body> </html>
5. 运行Flask应用:
if __name__ == '__main__': app.run(debug=True)
以上代码实现了一个简单的Flask应用,通过PyMySQL连接到MySQL数据库,查询数据表中的数据,并将数据显示在网页上,在这个例子中,我们使用了Flask的路由功能来处理不同的URL请求,使用了PyMySQL库来连接和操作MySQL数据库。
相关问题与解答:
问题1:如何在Flask中使用PyMySQL操作MySQL数据库?
答:在Flask中使用PyMySQL操作MySQL数据库,首先需要安装Flask和PyMySQL库,然后创建一个Flask应用,并配置数据库连接信息,接下来,可以使用`pymysql.connect()`方法连接到数据库,使用`cursor`对象执行SQL语句,获取查询结果,关闭数据库连接,在Flask应用中,可以通过路由函数来处理不同的URL请求,将查询结果显示在网页上。
问题2:如何在Flask应用中配置多个数据库连接?
答:在Flask应用中配置多个数据库连接,可以为每个数据库连接创建一个单独的配置字典,然后在需要使用该连接的地方使用对应的配置字典。
app.config['DATABASE1_HOST'] = 'localhost' app.config['DATABASE1_USER'] = 'user1' app.config['DATABASE1_PASSWORD'] = 'password1' app.config['DATABASE1_DB'] = 'database1' app.config['DATABASE1_CURSORCLASS'] = 'pymysql.cursors.DictCursor' app.config['DATABASE2_HOST'] = 'localhost' app.config['DATABASE2_USER'] = 'user2' app.config['DATABASE2_PASSWORD'] = 'password2' app.config['DATABASE2_DB'] = 'database2' app.config['DATABASE2_CURSORCLASS'] = 'pymysql.cursors.DictCursor'
在需要使用不同数据库连接的地方,可以使用对应的配置字典。
with app.app_context(): conn1 = pymysql.connect(host=app.config['DATABASE1_HOST'], user=app.config['DATABASE1_USER'], password=app.config['DATABASE1_PASSWORD'], db=app.config['DATABASE1_DB'], cursorclass=app.config['DATABASE1_CURSORCLASS']) with conn1.cursor() as cursor: # 执行SQL语句... conn1.close()免责声明:本文内容来自用户上传并发布,站点仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。请核实广告和内容真实性,谨慎使用。