Login
网站首页 > 文章中心 > 其它

flask ◆ pymysql操作Mysql数据库的实例_pymysql连接mysql数据库

作者:小编 更新时间:2023-08-16 13:41:26 浏览量:303人看过

下面是使用 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数据库的实例相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章