Flask是一款基于Python的Web框架,提供了创建Web应用程序的基本工具和功能。在Flask中,CRUD是一种常用的数据操作模式,代表创建(Create)、读取(Read)、更新(Update)和删除(Delete)。通过这四种操作,可以实现对数据的有效管理。
首先,我们来看一下创建(Create)。在Flask中,可以使用db.create_all()
方法来创建数据库中的所有表。这对于初始化数据非常有用。同时,也可以使用db.session.add()
方法来创建新的记录。例如,以下代码展示了如何使用db.session.add()
方法创建一个新的用户:
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(80), unique=True, nullable=False)
email = db.Column(db.String(120), unique=True, nullable=False)
def __init__(self, username, email):
self.username = username
self.email = email
db.create_all()
session = db.Session()
user = User('test', 'test@example.com')
session.add(user)
session.commit()
接下来是读取(Read)。这是指从数据库中获取已有的数据。我们可以使用db.query()
方法来执行SQL查询,或者使用session.query()
方法来获取当前会话中的数据。例如,以下代码展示了如何使用db.query()
方法获取所有用户:
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(80), unique=True, nullable=False)
email = db.Column(db.String(120), unique=True, nullable=False)
def __init__(self, username, email):
self.username = username
self.email = email
db.create_all()
session = db.Session()
users = session.query(User).all()
for user in users:
print(user.username, user.email)
然后是更新(Update)。在Flask中,可以使用db.update()
方法来更新数据库中的数据。我们也可以使用session.commit()
方法来提交更改,不过需要确保对数据进行了充分的验证。例如,以下代码展示了如何更新用户的电子邮件地址:
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(80), unique=True, nullable=False)
email = db.Column(db.String(120), unique=True, nullable=False)
def __init__(self, username, email):
self.username = username
self.email = email
db.create_all()
session = db.Session()
user = User('test', 'test@example.com')
session.commit() # 提交更改
最后是删除(Delete)。在Flask中,可以使用db.delete()
方法来删除数据库中的数据。同样,我们也可以使用session.delete()
方法来进行删除操作。例如,以下代码展示了如何删除用户:
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(80), unique=True, nullable=False)
email = db.Column(db.String(120), unique=True, nullable=False)
def __init__(self, username, email):
self.username = username
self.email = email
db.create_all()
session = db.Session()
user = User('test', 'test@example.com')
session.delete(user)
session.commit()
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦