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', '[email protected]')
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', '[email protected]')
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', '[email protected]')
session.delete(user)
session.commit()
點擊查看更多內容
為 TA 點贊
評論
評論
共同學習,寫下你的評論
評論加載中...
作者其他優質文章
正在加載中
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦