Python練習之ORM框架
目的:
- 瞭解常用的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框架內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Python ORM框架之SQLAlchemy 的基礎用法
- ORM模型框架操作mysql數據庫的方法
- Python的輕量級ORM框架peewee使用教程
- Python流行ORM框架sqlalchemy的簡單使用
- Python寫入MySQL數據庫的三種方式詳解