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

下面是使用 Flask 和 PyMySQL 操作 MySQL 数据库的完整攻略,包含两条示例说明。

安装 PyMySQL

使用 PyMySQL 操作 MySQL 数据库需要先安装 PyMySQL 库,可以通过以下命令在命令行中安装:

pip install pymysql

创建 Flask 应用

首先,需要创建一个 Flask 应用。可以通过以下代码创建一个最基本的 Flask 应用。

from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello():
    return 'Hello, World!'

运行该应用,可以在本地测试服务器上看到一个简单的文字“Hello, World!”。

if __name__ == '__main__':
    app.run()

连接 MySQL 数据库

在 Flask 应用中连接 MySQL 数据库,需要先设置好数据库连接信息。可以在应用配置文件中定义这些信息。

app.config['MYSQL_HOST'] = 'localhost'
app.config['MYSQL_USER'] = 'root'
app.config['MYSQL_PASSWORD'] = 'password'
app.config['MYSQL_DB'] = 'mydb'

连接 MySQL 数据库可以通过 PyMySQL 库实现。

import pymysql

@app.before_request
def before_request():
    g.db = pymysql.connect(
        host=app.config['MYSQL_HOST'], 
        user=app.config['MYSQL_USER'], 
        password=app.config['MYSQL_PASSWORD'], 
        db=app.config['MYSQL_DB'],
        cursorclass=pymysql.cursors.DictCursor)

在每个请求被处理之前,before_request 函数会被调用,连接到 MySQL 数据库,并将数据库对象保存在 Flask 应用实例的全局 g 对象中。

注意,在连接 MySQL 数据库时,需要指定 cursorclass 为 DictCursor,这样可以返回的查询结果为 Python 字典类型,更易读取。

在请求处理完成之后,需要关闭数据库连接,可以通过以下代码实现。

@app.teardown_request
def teardown_request(exception):
    db = getattr(g, 'db', None)
    if db is not None:
        db.close()

示例一:插入数据

以下是一个使用 Flask 和 PyMySQL 插入数据到 MySQL 数据库的示例。

@app.route('/add', methods=['POST'])
def add_data():
    if request.method == 'POST':
        name = request.form['name']
        age = request.form['age']
        try:
            cursor = g.db.cursor()
            sql = "INSERT INTO `users` (`name`, `age`) VALUES (%s, %s)"
            cursor.execute(sql, (name, age))
            g.db.commit()
            return 'Data inserted successfully!'
        except Exception as e:
            print(e)
            g.db.rollback()
            return 'Error occurred while inserting data.'

插入数据时,首先获取表单中提交的数据,然后执行 SQL 语句,插入到 MySQL 数据库中。

示例二:查询数据

以下是一个使用 Flask 和 PyMySQL 查询数据从 MySQL 数据库中的示例。

@app.route('/list')
def list_data():
    try:
        cursor = g.db.cursor()
        cursor.execute("SELECT * FROM `users`")
        results = cursor.fetchall()
        return render_template('list.html', results=results)
    except Exception as e:
        print(e)
        return 'Error occurred while fetching data.'

查询数据时,执行 SELECT 语句,获取所有数据,将查询结果传递到 HTML 模板中渲染展示。

总结

通过上述两个示例,我们学习了使用 Flask 和 PyMySQL 操作 MySQL 数据库的基本操作,包括配置和连接数据库、插入数据、查询数据。这些操作可以进一步扩展获取、更新和删除等功能的开发。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:flask + pymysql操作Mysql数据库的实例 - Python技术站

(0)
上一篇 2023年5月16日
下一篇 2023年5月16日

相关文章

  • Python3+Flask安装使用教程详解

    下面是“Python3+Flask安装使用教程详解”的完整攻略。 环境准备 在开始使用Flask之前,需要确保你的电脑上已经安装好Python3版本。可以通过以下方式来确认Python3是否已经安装: python3 –version 如果显示Python的版本信息,说明已经安装好了Python3。 接着,需要在电脑上安装pip包管理工具,用于安装Flas…

    Flask 2023年5月15日
    00
  • http通过StreamingHttpResponse完成连续的数据传输长链接方式

    当我们需要在Web应用程序中实现连续的数据传输时,可以使用HTTP的StreamingHttpResponse来完成长链接方式。由于HTTP是基于请求-响应模型的,因此我们无法像传统Socket编程那样实现长链接方式,这时StreamingHttpResponse就为我们提供了一种有效的解决办法。 首先,我们需要明确的是,StreamingHttpRespo…

    Flask 2023年5月16日
    00
  • flask后端request获取参数的几种方式整理

    下面是“flask后端request获取参数的几种方式整理”的完整攻略。 一、从URL中获取参数 1.1 直接从URL中获取参数 当请求类型为GET时,可以直接从URL的query string中获取参数。例如有一个URL:http://127.0.0.1:5000/?name=Tom&age=20,读取页面时,可以使用以下代码获取这两个参数的值: …

    Flask 2023年5月15日
    00
  • flask框架json数据的拿取和返回操作示例

    下面我将为你详细讲解“flask框架json数据的拿取和返回操作示例”的完整攻略,包含两条示例说明。 一、获取JSON数据 在Flask框架中获取JSON数据很容易,我们只需要通过request对象的get_json()方法即可获取提交的JSON数据。下面是一个简单的示例: from flask import Flask, request, jsonify …

    Flask 2023年5月16日
    00
  • python常用web框架简单性能测试结果分享(包含django、flask、bottle、tornado)

    下面是对于“python常用web框架简单性能测试结果分享(包含django、flask、bottle、tornado)”的详细攻略: 前言 Python作为动态语言,有着超高的开发效率,但是受限于解释器性能,Python在运行大型任务时性能一般。因此,我们在开发Web应用程序时,通常会使用Web框架来提高性能。 常用的Python Web框架有Django…

    Flask 2023年5月15日
    00
  • python编程Flask框架简单使用教程

    关于“Python编程Flask框架简单使用教程”的完整攻略,我可以提供以下内容: Python编程Flask框架简单使用教程攻略 什么是Flask框架 Flask是一个使用Python编写的Web应用程序框架,它可以轻松构建具有可扩展性的Web应用程序。 如何安装Flask框架 要安装Flask框架,只需要在终端输入以下命令即可: pip install …

    Flask 2023年5月15日
    00
  • 详解Flask数据库的连接与使用

    为了详细讲解Flask数据库的连接与使用的攻略,我们需要分为以下几个步骤: 1. 安装Flask扩展 在使用Flask之前,我们需要先安装一些必要的扩展。对于连接数据库来说,常用的扩展是Flask-SQLAlchemy和Flask-MySQLdb。 pip install flask_sqlalchemy pip install flask-mysqldb …

    Flask 2023年5月15日
    00
  • 以Flask为例讲解Python的框架的使用方法

    一、介绍Flask框架 Flask是一个微型Web框架,适用于小型或中型应用。它基于Werkzeug工具箱和Jinja2模板引擎。Flask的简约哲学使得使用它成为一种享受。它没有默认情况下的数据库、表单验证等等,但它成为了很多Python开发者的首选框架。虽然Flask轻便,但它具有很高的可扩展性和灵活性。 二、安装Flask框架 1.安装Flask: p…

    Flask 2023年5月15日
    00
合作推广
合作推广
分享本页
返回顶部