首頁 > 軟體

Python練習之ORM框架

2022-06-13 18:03:15

目的:

  • 瞭解常用的ORM框架;
  • 使用SQLObject框架操作MySQL資料庫。

面試題:

  • 在Python語言中有哪些常用的ORM框架,它們有什麼區別?
  • 如何使用SQLObject框架操作MySQL資料庫?

一、Python語言中有哪些常用的ORM框架以及它們的區別

在Python語言中主要有以下兩個常用的ORM框架:

  • SQLAlchemy
  • SQLObject

它們倆的區別:

  • SQLAlchemy框架偏向於SQL,可以靈活地提交SQL語句;
  • 而SQLObject框架更加物件導向,無法自由使用原生的SQL語句。

二、使用SQLObject框架操作MySQL資料庫

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

pip install sqlobject

1. 建立表

# coding=utf-8
from sqlobject import *
        #                                   庫名
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()
# 習慣性建立一個新表之前先刪除~  (是個好習慣哦!)
try:
    Person.dropTable()
except:
    pass
Person.createTable()

使用Navicat檢視:

2. 插入資料

使用Navicat檢視: 

3. 修改資料

使用Navicat檢視:

4. 查詢資料

刪除資料:

使用Navicat檢視:

三、補充總結

首先,關於ORM簡單聊幾嘴:

對於像Python這樣的物件導向的語言來說 ,一切皆物件 ,但是我們使用的資料庫都是關係型的。 為了保證一致的使用習慣 ,我們就需要使用ORM在程式語言的物件模型和資料庫的關係模型之間建立對映關係 ,這樣我們在運算元據庫時就可以直接使用程式語言的物件模型 ,而不用使用sql語言。

而ORM到底是什麼呢?

  • 英文全稱object relational mapping(物件對映關係程式)
  • 物件和關係之間的對映,讓我們可以使用物件導向的方式來運算元據庫。
  • 把任何一個sql語句都封裝成物件操作。關係模型和Python物件之間的對映如下:
  
table -> class表對映為類
row -> object行對映為範例
column -> property欄位對映為屬性

到此這篇關於Python練習之ORM框架的文章就介紹到這了,更多相關Python ORM框架內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com