SQLAlchemy Python 數據庫實戰, 2/e (Essential SQLAlchemy, 2/e)

[美] 賈森·邁爾斯(Jason Myers) 里克·科普蘭(Rick Copeland)

立即出貨

買這商品的人也買了...

商品描述

本書主要探討SQLAlchemy,這個Python 庫在關系型數據庫和傳統編程之間架起了一座橋

梁,有助於Python 程序員將應用程序連接到關系型數據庫。本書首先通過對比的方式介紹了SQLAlchemy 的兩種主要使用模式——SQLAlchemy Core 和SQLAlchemy ORM,然後探討了數據庫遷移工具Alembic 的用法,快速講解了SQLAlchemy 的應用。

作者簡介

[美]賈森·邁爾斯(Jason Myers)里克·科普蘭(Rick Copeland)譯者:武傳海
賈森·邁爾斯(Jason Myers),Built Technologies平台工程師,曾在思科公司擔任技術主管。在轉做開發前,曾做過15年系統架構師。

里克·科普蘭(Rick Copeland),Carefolio公司聯合創始人兼CEO,Arborian諮詢公司顧問,是位經驗豐富的創業者、技術主管、演講者、培訓師和顧問。

目錄大綱

前言ix 
SQLAlchemy入門xv 
第一部分SQLAlchemy Core 
第1章模式和類型3 
1.1類型3 
1.2元數據5 
1.3表5 
1.3.1列6 
1.3.2鍵和約束7 
1.3.3索引8 
1.3.4關聯關係和外鍵約束8 
1.4表的持久化10 

第2章使用SQLAlchemy Core處理數據12 
2.1插入數據12 
2.2查詢數據15 
2.2.1 ResultProxy 16 
2.2.2控制查詢中的列數18 
2.2.3排序18 
2.2.4限制返回結果集的條數19 
2.2.5內置SQL函數和標籤20 
2.2.6過濾21 
2.2.7 ClauseElement 22 
2.2.8運算符23 
2.2.9布爾運算符24 
2.2.10連接詞24 
2.3更新數據25 
2.4刪除數據26 
2.5連接27 
2.6別名29 
2.7分組29 
2.8鍊式調用30
2.9原始查詢32 

第3章異常和事務33 
3.1異常33 
3.1.1 AttributeError 34 
3.1.2 IntegrityError 35 
3.1.3處理錯誤37 
3.2事務38 

第4章測試45 
4.1使用測試數據庫做測試45 
4.2使用mock 51 
第5章反射54 
5.1反射單個表54 
5.2反射整個數據庫56 
5.3使用反射對象構建查詢57 

第二部分SQLAlchemy ORM 
第6章使用SQLAlchemy ORM定義模式61 
6.1使用ORM類定義表61 
6.2關係63 
6.3模式持久化65 

第7章使用SQLAlchemy ORM處理數據66 
7.1會話66 
7.2插入數據68 
7.3查詢數據71 
7.3.1控制查詢中的列數74 
7.3.2排序74 
7.3.3限制返回結果集的條數75 
7.3.4內置SQL函數和標籤75 
7.3.5過濾77 
7.3.6運算符78 
7.3.7布爾運算符79 
7.3.8連接詞79
7.4更新數據80 
7.5刪除數據81 
7.6連接83 
7.7分組85 
7.8鍊式調用85 
7.9原始查詢87 

第8章理解會話和異常88 
8.1 SQLAlchemy會話90 
8.2異常92 
8.2.1 MultipleResultsFound異常93 
8.2.2 DetachedInstanceError 94 
8.3事務96 

第9章使用SQLAlchemy ORM測試103 
9.1使用測試數據庫做測試103 
9.2使用mock 111 

第10章使用SQLAlchemy ORM和自動映射進行反射113 
10.1使用自動映射反射數據庫113 
10.2反射關係115 

第三部分Alembic 
第11章Alembic入門119 
11.1創建遷移環境119 
11.2配置遷移環境120 
第12章創建遷移122 
12.1創建基礎空遷移122 
12.2自動生成遷移124 
12.3手動創建遷移127 

第13章控制Alembic 129 
13.1確定數據庫的遷移級別129 
13.2遷移降級130
13.3標記數據庫遷移級別131 
13.4生成SQL 131 

第14章SQLAlchemy的高級應用133 
14.1混合屬性133 
14.2關聯代理136 
14.3集成SQLAlchemy和Flask 141 
14.4 SQLAcodegen 143 

第15章接下來做什麼149 
關於作者150 
關於封面150