人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動(dòng)態(tài)

使用ORM新增數(shù)據(jù)在Mysql中的操作步驟

發(fā)布日期:2022-02-09 09:15 | 文章來(lái)源:gibhub

【】

想要使用ORM在數(shù)據(jù)庫(kù)中進(jìn)行操作數(shù)據(jù),前提是已經(jīng)新建了ORM模型 ;就是我們之前已經(jīng)搭建的模型https://www.jb51.net/article/218036.htm

【ORM操作步驟】

  • 構(gòu)造ORM模型對(duì)象
  • 添加到session
  • 提交到數(shù)據(jù)庫(kù)
  • 出現(xiàn)異常,回滾事務(wù)(可選)

【構(gòu)造ORM模型對(duì)象】

user_obj = User(
username="use1",
password="123456",
real_name = "用戶1",
age=12
)

【添加到session】

#  添加1個(gè)對(duì)象
session.add(user_obj)
#  添加多個(gè)對(duì)象
session.add_all([user1,user2,user3])

【session的作用】

  • 建立與數(shù)據(jù)庫(kù)之間的會(huì)話
  • 使用session對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行增刪改查
  • 使用session進(jìn)行事務(wù)控制(提交和回滾)
  • 使用完后需要關(guān)閉它 session.close()

【session的創(chuàng)建】

有兩種方法,下圖代碼示例

# 方法一 實(shí)例化session
from sqlalchemy.orm import Session
with Session(engine) as session:
    session.add(User())
    session.commit()
#  方法二 使用工廠函數(shù)創(chuàng)建
from sqlalchemy.orm import sessionmaker
Session = sessionmaker(engine)
with Session.begin()  as session:
    session.add(User())

【數(shù)據(jù)提交到數(shù)據(jù)庫(kù)】

with Session(engine) as  session:
    session.add(user_obj)
    session.add_all([user1,user1,user1])
    session.commit()

【出現(xiàn)異常,回滾事務(wù)】

with Session(engine) as session:
    session.begin()
    try:
        session.add(user1)
        session.add(user2)
    except:
        session.rollback()
        raise
    else:
        session.commit()

【Session對(duì)象中其他的常用方法】

1. excute(statement, params=None,*args) 執(zhí)行SQL查詢

2. delete(instance) 物理刪除數(shù)據(jù)

3. get(entity,idnet,*args) 根據(jù)主鍵返回滿足條件的ORM對(duì)象/None

4. query(*entities,**kwargs)

使用ORM查詢,返回Query對(duì)象

到此這篇關(guān)于使用ORM新增數(shù)據(jù)在Mysql中的文章就介紹到這了,更多相關(guān)ORM mysql數(shù)據(jù)庫(kù)內(nèi)容請(qǐng)搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!

海外服務(wù)器租用

版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實(shí)時(shí)開通

自選配置、實(shí)時(shí)開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問(wèn)服務(wù)

1對(duì)1客戶咨詢顧問(wèn)

在線
客服

在線客服:7*24小時(shí)在線

客服
熱線

400-630-3752
7*24小時(shí)客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部