溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python之ORM框架怎么使用

發(fā)布時(shí)間:2022-06-13 15:33:32 來(lái)源:億速云 閱讀:234 作者:iii 欄目:開發(fā)技術(shù)

本文小編為大家詳細(xì)介紹“Python之ORM框架怎么使用”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“Python之ORM框架怎么使用”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來(lái)學(xué)習(xí)新知識(shí)吧。

一、Python語(yǔ)言中有哪些常用的ORM框架以及它們的區(qū)別

在Python語(yǔ)言中主要有以下兩個(gè)常用的ORM框架:

  • SQLAlchemy

  • SQLObject

它們倆的區(qū)別:

  • SQLAlchemy框架偏向于SQL,可以靈活地提交SQL語(yǔ)句;

  • 而SQLObject框架更加面向?qū)ο螅瑹o(wú)法自由使用原生的SQL語(yǔ)句。

二、使用SQLObject框架操作MySQL數(shù)據(jù)庫(kù)

第一題提到的兩個(gè)框架都需要安裝:

pip install sqlobject

1. 創(chuàng)建表

# coding=utf-8
from sqlobject import *
        #                                   庫(kù)名
mysql = 'mysql://root:123456@localhost:3306/test?charset=utf8'
                                                # 用pymysql與sqlalchemy交互~
sqlhub.processConnection = connectionForURI(mysql, driver='pymysql')

class Person(SQLObject):
    class sqlmeta:
        table = 'new_persons'
    name = StringCol(length = 30)
    age = IntCol()
    address = StringCol(length = 30)
    salary = FloatCol()
# 習(xí)慣性創(chuàng)建一個(gè)新表之前先刪除~  (是個(gè)好習(xí)慣哦!)
try:
    Person.dropTable()
except:
    pass
Person.createTable()

使用Navicat查看:

Python之ORM框架怎么使用

2. 插入數(shù)據(jù)

Python之ORM框架怎么使用

Python之ORM框架怎么使用

使用Navicat查看: 

Python之ORM框架怎么使用

3. 修改數(shù)據(jù)

Python之ORM框架怎么使用

使用Navicat查看:

Python之ORM框架怎么使用

4. 查詢數(shù)據(jù)

Python之ORM框架怎么使用

Python之ORM框架怎么使用

刪除數(shù)據(jù):

Python之ORM框架怎么使用

使用Navicat查看:

Python之ORM框架怎么使用

三、補(bǔ)充總結(jié)

首先,關(guān)于ORM簡(jiǎn)單聊幾嘴:

對(duì)于像Python這樣的面向?qū)ο蟮恼Z(yǔ)言來(lái)說(shuō) ,一切皆對(duì)象 ,但是我們使用的數(shù)據(jù)庫(kù)都是關(guān)系型的。 為了保證一致的使用習(xí)慣 ,我們就需要使用ORM在編程語(yǔ)言的對(duì)象模型和數(shù)據(jù)庫(kù)的關(guān)系模型之間建立映射關(guān)系 ,這樣我們?cè)诓僮鲾?shù)據(jù)庫(kù)時(shí)就可以直接使用編程語(yǔ)言的對(duì)象模型 ,而不用使用sql語(yǔ)言。

而ORM到底是什么呢?

  • 英文全稱object relational mapping(對(duì)象映射關(guān)系程序)

  • 對(duì)象和關(guān)系之間的映射,讓我們可以使用面向?qū)ο蟮姆绞絹?lái)操作數(shù)據(jù)庫(kù)。

  • 把任何一個(gè)sql語(yǔ)句都封裝成對(duì)象操作。關(guān)系模型和Python對(duì)象之間的映射如下:

  
table -> class表映射為類
row -> object行映射為實(shí)例
column -> property字段映射為屬性

讀到這里,這篇“Python之ORM框架怎么使用”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識(shí)點(diǎn)還需要大家自己動(dòng)手實(shí)踐使用過才能領(lǐng)會(huì),如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI