前言
本文講解在Python語言中使用SQLAlchemy庫操縱MySQL資料庫的方法。
由於具體內容涉及較多,本文僅以插入及展示資料為例,更多內容請查閱有關文件。
ORM
ORM也即物件 - 關係對映。
在前文中,操縱的物件針對資料庫中的關係表。而ORM機制能讓你的處理物件由這些錶轉換成Python中的表物件。
這樣的機制意義不小,它能讓你在不瞭解SQL語句的條件下使用資料庫。
準備工作
1. 安裝Python和MySQL;
2. 安裝SQLAlchemy。("easy_install sqlalchemy"即可)。
總體步驟
1. 建立一個資料庫;
2. 匯入SQLAlchemy庫相關內容 (詳見下面程式碼展示部分);
3. 定義表物件結構;
4. 建立資料庫連線引擎;
5. 基於 4 中建立的引擎建立一個會話型別;
6. 定義會話物件;
7. 定義並初始化表物件;
8. 插入表物件;
9. 關閉會話。
程式碼示例
1 # -*- coding: utf-8 -*- 2 # ================================================ 3 # 作者: 方萌 4 # 建立時間: 20**/**/** 5 # 版本號: 1.0 6 # 聯絡方式: 1505033833@qq.com 7 # ================================================ 8 # sqlalchemy 相關模組 9 from sqlalchemy import Column, String, INT, create_engine 10 from sqlalchemy.orm import sessionmaker 11 from sqlalchemy.ext.declarative import declarative_base 12 # 表物件的基類: 13 Base = declarative_base() 14 # 定義User表物件 15 class User(Base): 16 # 表名: 17 __tablename__ = 'testTable' 18 # 表的結構: 19 name = Column(String(20), primary_key=True) 20 age = Column(INT) 21 # 建立資料庫連線引擎 22 engine = create_engine('mysql+mysqlconnector://root:123456@localhost:3306/testDB') 23 # 建立DBSession型別 24 DBSession = sessionmaker(bind=engine) 25 # 建立session物件 26 session = DBSession() 27 # 建立新User物件 28 new_user = User(name='方萌ORM', age='25') 29 # 新增到session 30 session.add(new_user) 31 # 提交即儲存到資料庫 32 session.commit() 33 # 關閉session 34 session.close()
執行結果
小結
基於ORM機制的庫還有很多,可根據實際需要進行選擇。
本文旨在講述ORM的思想以及展示基本使用套路。更多高階的用法(如建立表,建立外來鍵關係等)請查閱相關文件。