世外云

flask + pymysql操作Mysql数据库的实例

Flask是一个轻量级的Python Web框架,可以用于快速搭建Web应用,PyMySQL是Python中操作MySQL数据库的一个库,它是基于MySQL C API的Python封装,提供了Python风格的API来操作MySQL数据库。

下面是一个使用Flask和PyMySQL操作MySQL数据库的实例:

flask + pymysql操作Mysql数据库的实例-图1

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`,用于展示数据列表:

flask + pymysql操作Mysql数据库的实例-图2
<!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()
分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
请登录后评论...
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~