佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > 使用ORM新增數(shù)據(jù)在Mysql中的操作步驟

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

熱門標(biāo)簽:網(wǎng)站排名優(yōu)化 Linux服務(wù)器 百度競價(jià)排名 地方門戶網(wǎng)站 AI電銷 呼叫中心市場需求 鐵路電話系統(tǒng) 服務(wù)外包

【前言】

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

【ORM操作步驟】

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

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

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

【添加到session】

#  添加1個(gè)對象
session.add(user_obj)

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

【session的作用】

  • 建立與數(shù)據(jù)庫之間的會(huì)話
  • 使用session對數(shù)據(jù)庫中的數(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ù)庫】

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對象中其他的常用方法】

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

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

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

4. query(*entities,**kwargs)

使用ORM查詢,返回Query對象

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

您可能感興趣的文章:
  • ORM模型框架操作mysql數(shù)據(jù)庫的方法
  • gorm操作MySql數(shù)據(jù)庫的方法
  • .net core利用orm如何操作mysql數(shù)據(jù)庫詳解
  • PHP基于ORM方式操作MySQL數(shù)據(jù)庫實(shí)例
  • mysql數(shù)據(jù)庫中的information_schema和mysql可以刪除嗎?
  • 解析MySQL的information_schema數(shù)據(jù)庫

標(biāo)簽:崇左 湖南 仙桃 湘潭 衡水 黃山 蘭州 銅川

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《使用ORM新增數(shù)據(jù)在Mysql中的操作步驟》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    伊吾县| 关岭| 闸北区| 舞阳县| 安达市| 拜城县| 夏河县| 铅山县| 城步| 老河口市| 宿松县| 堆龙德庆县| 西青区| 井研县| 龙胜| 伊金霍洛旗| 江口县| 甘孜| 偏关县| 贵溪市| 大悟县| 株洲县| 新宁县| 北海市| 水城县| 双牌县| 杭州市| 泰州市| 府谷县| 宁陵县| 铜陵市| 集安市| 策勒县| 海宁市| 台江县| 辉县市| 阜康市| 丰县| 梁山县| 江安县| 河北区|