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日

相关文章

  • Flask SQLAlchemy(操作数据库)使用方法详解

    Flask SQLAlchemy是一个Python库,提供ORM(Object-Relational Mapping)功能,用于在Flask应用程序中访问和操作关系数据库。在本篇文章中,我们将详细介绍如何利用Flask SQLAlchemy进行数据库操作,并提供实际的代码示例。 安装Flask SQLAlchemy 要使用Flask SQLAlchemy,首…

    Flask 2023年3月13日
    00
  • Python异步处理返回进度——使用Flask实现进度条

    本文将详细讲解如何使用 Flask 框架实现 Python 异步处理返回进度,并对进度进行可视化展示,以进度条形式向用户展示异步处理的进度。本文将分为两个部分来讲解,第一部分将介绍如何使用 Flask 实现异步处理并返回进度,第二部分将介绍如何使用 JavaScript 和 Bootstrap 实现进度条。 第一部分:Flask 实现异步处理返回进度 1. …

    Flask 2023年5月16日
    00
  • python中Flask框架简单入门实例

    Flask框架是一种轻型的Web框架,使用Python编写。它的设计理念是简单、灵活、易于扩展和学习。本文将为您提供 Flask 框架的入门实例攻略。 环境搭建 首先,您需要在本地安装Python 3.x。推荐使用Anaconda作为python环境。接着安装Flask框架,您可以直接通过pip安装。 pip install Flask 示例一:Flask框…

    Flask 2023年5月15日
    00
  • flask-restful使用总结

    下面我将详细讲解“flask-restful使用总结”的完整攻略,包含两个示例。 一、总体概述 1. 什么是Flask-RESTful? Flask-RESTful是一个基于Flask构建的RESTful API扩展。它使得在Flask应用程序中开发RESTful API变得异常简单。 2. 使用Flask-RESTful的好处 使用Flask-RESTfu…

    Flask 2023年5月15日
    00
  • python2.7的flask框架之引用js&css等静态文件的实现方法

    下面是详细讲解“Python2.7的Flask框架之引用JS&CSS等静态文件的实现方法”的攻略: 一、Flask框架静态文件目录 在Flask应用中,静态资源文件一般保存在应用程序的 static 文件夹中。因为 Flask 框架在启动时会将 static 文件夹中的内容提供给外部访问。 一般情况下,静态资源文件可分为如下两类: CSS:层叠样式表…

    Flask 2023年5月16日
    00
  • 将python项目打包成exe与安装包的全过程

    将 Python 项目打包成 exe 需要使用 pyinstaller 工具。pyinstaller 是一个非常常用的 Python 打包工具,可以将 Python 代码打包成可执行文件,支持 Windows、Linux 和 Mac OS 等多个平台。下面是将 Python 项目打包成 exe 的完整攻略: 安装 pyinstaller 在命令行中执行以下命…

    Flask 2023年5月16日
    00
  • Flask框架利用Echarts实现绘制图形

    下面我将为您详细讲解“Flask框架利用Echarts实现绘制图形”的完整攻略。 安装Flask和Echarts 首先,我们需要安装Flask和Echarts。可以通过Python的包管理工具pip进行安装。 pip install Flask Echarts 创建Flask应用程序 我们可以通过Flask框架来创建一个Web应用程序,可以通过以下Pytho…

    Flask 2023年5月16日
    00
  • 解决python flask中config配置管理的问题

    我来详细讲解“解决Python Flask中config配置管理的问题”的完整攻略。 1. 配置文件的组织 在Flask应用中使用config配置是一个常见的方法,它可以帮助我们分离开发和生产环境的不同配置。但是,一些常见的问题是: 如何组织config文件? 如何为不同的配置创建不同的文件? 如何保护敏感数据而不将其提交给版本控制? 下面,我会为这些问题提…

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