使用ORM新增數(shù)據(jù)在Mysql中的操作步驟
【前言】
想要使用ORM在數(shù)據(jù)庫(kù)中進(jìn)行操作數(shù)據(jù),前提是已經(jīng)新建了ORM模型 ;就是我們之前已經(jīng)搭建的模型http://chabaoo.cn/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)文章希望大家以后多多支持腳本之家!
相關(guān)文章
mysql 使用存儲(chǔ)過(guò)程實(shí)現(xiàn)樹節(jié)點(diǎn)的獲取方法
這篇文章主要介紹了mysql 使用存儲(chǔ)過(guò)程實(shí)現(xiàn)樹節(jié)點(diǎn)的獲取方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-06-06MySQL?遷移OB?Oracle場(chǎng)景中自增主鍵實(shí)踐操作
這篇文章主要介紹了MySQL?遷移OB?Oracle場(chǎng)景中自增主鍵實(shí)踐操作詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10解決MySQL5.1安裝時(shí)出現(xiàn)Cannot create windows service for mysql.error
這篇文章主要介紹了解決MySQL5.1安裝時(shí)出現(xiàn)Cannot create windows service for mysql.error:0問(wèn)題的方法2016-06-06InnoDB 類型MySql恢復(fù)表結(jié)構(gòu)與數(shù)據(jù)
MySQL中.frm文件:保存了每個(gè)表的元數(shù)據(jù),包括表結(jié)構(gòu)的定義等,該文件與數(shù)據(jù)庫(kù)引擎無(wú)關(guān)。MySQL中.ibd文件:InnoDB引擎開(kāi)啟了獨(dú)立表空間(my.ini中配置innodb_file_per_table = 1)產(chǎn)生的存放該表的數(shù)據(jù)和索引的文件。2018-01-01使用mysqldump實(shí)現(xiàn)mysql備份
mysqldump客戶端可用來(lái)轉(zhuǎn)儲(chǔ)數(shù)據(jù)庫(kù)或搜集數(shù)據(jù)庫(kù)進(jìn)行備份或?qū)?shù)據(jù)轉(zhuǎn)移到另一個(gè)SQL服務(wù)器(不一定是一個(gè)MySQL服務(wù)器)。今天我們就來(lái)詳細(xì)探討下mysqldump的使用方法2016-11-11MySQL數(shù)據(jù)庫(kù)備份和還原的常用命令小結(jié)
MySQL數(shù)據(jù)庫(kù)備份和還原的常用命令小結(jié),學(xué)習(xí)mysql的朋友可以參考下2012-03-03