日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【Flask】数据的CRUD之更新和删除操作

發布時間:2025/3/21 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Flask】数据的CRUD之更新和删除操作 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前提:需要生成數據表

下面的第一步到第六步是生成數據表的操作步驟

第一步:數據庫配置

# 數據庫的配置變量 HOSTNAME = '127.0.0.1' PORT = '3306' DATABASE = 'test' USERNAME = 'root' PASSWORD = 'root' DB_URI = 'mysql+pymysql://{}:{}@{}:{}/{}?charset=utf8mb4'.format(USERNAME,PASSWORD,HOSTNAME,PORT,DATABASE)

第二步:創建數據庫引擎

engine=create_engine(DB_URI)

第三步:測試數據連接是否成功

with engine.connect() as conn:res=conn.execute('select 1')print(res.fetchone())

第四步:創建基類

Base=declarative_base(engine)

第五步:創建模型類

class Person(Base):__tablename__='t_person' #創建表名,最好是t_開頭id=Column(name='id',type_=Integer,primary_key=True,autoincrement=True)name=Column(name='name',type_=String(255))age=Column(name='age',type_=Integer)address=Column(name='address',type_=String(255))country=Column(name='country',type_=String(50)) #創建表之后新加的字段city=Column(name='city',type_=String(50)) #創建表之后新加的字段def __str__(self):return '姓名:{}-年領:{}-地址:{}-國家:{}-城市:{}'.format(self.name,self.age,self.address,self.country,self.city)

第六步:根據模型類創建數據表

#Base.metadata.drop_all() Base.metadata.create_all()

第七步:創建session對象

session=sessionmaker(engine)() #注意sessionmaker返回一個函數

一、對數據進行修改操作

首先從數據庫中查找對象,然后將這條數據修改為你想要的數據,最后做commit操作就可以修改數據了。

舉例1:
將名字為zz的人物,改為名字為jmeter

p1=session.query(Person).filter(Person.name=='zz').first() p1.name='jmeter' session.commit()

舉例2:
將所有名字為zz的人物,改為名字為jmeter

res=session.query(Person).filter(Person.name=='zz').all() print(res) for i in res:i.name='flask' session.commit()

二、對數據進行刪除操作

首先從數據庫中查找對象,然后將這條數據刪除,最后做commit操作就可以刪除數據了。

p1=session.query(Person).filter(Person.name=='kb').first() session.delete(p1) session.commit()

特別注意:
p1=session.query(Person).filter(Person.name=='kb').first()p1是對象,可以刪除;
p2=session.query(Person).filter(Person.name=='kb').all()p2是列表對象,不可以對列表對象刪除,如果要對列表對象刪除,通過for循環操作

代碼如下

def delete():res1 = session.query(Person).filter(Person.sal <= 3000).all()print(res1)for i in res1:session.delete(i)session.commit()

總結

以上是生活随笔為你收集整理的【Flask】数据的CRUD之更新和删除操作的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。