Flask框架中数据库的增删改查操作

前天 3608阅读
在Flask框架中,数据库的增删改查操作通常通过使用SQLAlchemy或Flask-SQLAlchemy等ORM(对象关系映射)库来实现。具体操作包括:,,1. 增(Create):使用ORM模型定义数据表结构,并创建新的数据记录。,2. 删(Delete):根据条件查询数据库中的记录,并使用删除语句将其从数据库中移除。,3. 改(Update):根据条件查询数据库中的记录,并使用更新语句修改其内容。,4. 查(Retrieve):通过SQL查询语句或ORM提供的查询方法,从数据库中检索所需的数据记录。,,以上操作在Flask框架中需要结合数据库连接池、ORM模型以及SQL语句或ORM查询方法来实现。

在Web开发中,Flask是一个轻量级且灵活的Python框架,它提供了许多有用的工具和库来帮助开发者快速构建Web应用程序,为了使应用程序具有持久性并能够存储和检索数据,我们通常需要使用数据库,本文将介绍在Flask框架中如何使用数据库进行增删改查(CRUD)操作。

Flask框架中数据库的增删改查操作
(图片来源网络,如有侵权,联系邮箱xiajin@b31.cn马上删谢谢!)

Flask中的数据库选择

在Flask中,我们可以选择多种数据库来存储数据,如SQLite、MySQL、PostgreSQL等,本文以SQLite为例,介绍如何在Flask中使用SQLite数据库进行增删改查操作。

安装必要的库

我们需要安装Flask和SQLite相关的库,可以使用pip命令进行安装:

Flask框架中数据库的增删改查操作
(图片来源网络,如有侵权,联系邮箱xiajin@b31.cn马上删谢谢!)
pip install flask flask_sqlalchemy pymysql

flask_sqlalchemy是Flask的一个扩展,用于与SQLAlchemy进行集成,SQLAlchemy是一个强大的SQL工具包和对象关系映射(ORM)库,pymysql是一个用于连接MySQL数据库的Python库,虽然我们这里使用SQLite,但安装它以便后续可能的需要。

连接数据库

在Flask中,我们通常在配置文件中配置数据库连接信息,创建一个名为config.py的文件,定义数据库连接的相关配置:

Flask框架中数据库的增删改查操作
(图片来源网络,如有侵权,联系邮箱xiajin@b31.cn马上删谢谢!)
config.py
SQLALCHEMY_DATABASE_URI = 'sqlite:////tmp/test.db'  # 数据库URI,这里使用SQLite并指定数据库文件路径
SQLALCHEMY_TRACK_MODIFICATIONS = False  # 跟踪对象修改状态,设置为False以提升性能

在Flask应用中导入该配置文件并初始化SQLAlchemy:

app.py
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from config import SQLALCHEMY_DATABASE_URI
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = SQLALCHEMY_DATABASE_URI  # 配置数据库连接信息
db = SQLAlchemy(app)  # 初始化SQLAlchemy并绑定到应用实例上

定义数据模型

我们需要定义数据模型,在Flask中,我们可以使用SQLAlchemy的声明式方法来定义模型,创建一个名为models.py的文件,定义一个简单的用户模型:

models.py
from flask_sqlalchemy import Column, Integer, String, Model, ForeignKey
from app import db  # 导入SQLAlchemy实例db
class User(db.Model):  # 定义一个User模型类,继承自SQLAlchemy的Model类
    id = Column(Integer, primary_key=True)  # 定义主键id字段
    username = Column(String(80), unique=True, nullable=False)  # 定义用户名字段,唯一且不可为空
    email = Column(String(120), unique=True)  # 定义邮箱字段,唯一但可以为空(如果需要)
    password = Column(String(255), nullable=False)  # 定义密码字段,不可为空(实际开发中应使用更安全的密码存储方式)
    # 其他字段...(根据需要添加)

增删改查操作(CRUD)

现在我们已经定义了数据模型,接下来将介绍如何进行增删改查操作,这里以User模型为例进行演示:

1、增(Create):创建新用户记录,首先创建一个新的User对象,设置其属性值,然后调用db.session.add()方法将其添加到数据库会话中,最后调用db.session.commit()方法提交事务并保存到数据库中。new_user = User(username='john', email='john@example.com', password='password')db.session.add(new_user)db.session.commit()

2、查(Read):查询用户记录,可以使用SQLAlchemy提供的查询语句来查询数据库中的记录。users = User.query.all()可以查询所有用户记录;user = User.query.get(id)可以根据主键ID查询指定用户记录,查询结果将返回一个包含User对象的列表或单个User对象,可以根据需要进行进一步的操作和处理。

3、改(Update):更新用户记录,首先通过查询语句找到要更新的用户记录(user = User.query.get(id)),然后修改其属性值(user.username = 'new_username'),最后再次调用db.session.commit()方法提交事务并保存到

文章版权声明:除非注明,否则均为新区云原创文章,转载或复制请以超链接形式并注明出处。

目录[+]