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

admin4个月前网络知识31

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()
免责声明:本文内容来自用户上传并发布,站点仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。请核实广告和内容真实性,谨慎使用。

相关文章

python中文分词,使用结巴分词对python进行分词(实例讲解)

python中文分词,使用结巴分词对python进行分词(实例讲解)

【Python中文分词,使用结巴分词对Python进行分词(实例讲解)】在自然语言处理中,中文分词是一项基础且重要的任务,它的目的是将连续的中文文本切分成有意义的词语序列,本文将介绍如何使用结巴分词库...

后端面试自我介绍模板怎么写

后端面试自我介绍模板怎么写

【后端面试自我介绍模板】大家好,我叫XXX,毕业于XXX大学计算机科学与技术专业,我有X年的后端开发经验,熟悉Java、Python、Go等编程语言,对数据库、缓存、消息队列等技术有深入的理解和实践,...

async怎么用

async怎么用

在Android开发中,AsyncTask是一个常用的用于执行后台任务的类,随着RxJava和RxAndroid的出现,我们可以使用它们来更好地处理异步操作,本文将介绍如何将AsyncTask转换为R...

java输出函数返回值

java输出函数返回值

在Java中,CallableStatement是用于执行存储过程的接口,它提供了一种方式来调用数据库中的存储过程,并获取结果集、输出参数等,在使用CallableStatement的getResul...

idea 报错「idea报错程序包不存在」

idea 报错「idea报错程序包不存在」

在开发过程中,我们经常会遇到各种各样的错误,IDEA报错是最常见的一种,IDEA是一款非常强大的Java集成开发环境,它可以帮助开发者提高编程效率,但是在使用过程中,也可能会出现一些错误,本文将对ID...