內容簡介
本書主要探討SQLAlchemy,這個Python 庫在
關係型資料庫和傳統編程之間架起了一座橋樑,有助於Python 程式設計師將應用程式連線到關係型想跨資料庫。本書首先通過對比的方式介紹了SQLAlchemy 的兩種主要使用模式——SQLAlchemy Core 和SQLAlchemy ORM,然後探討了資料庫遷移工具Alembic 的用法,快速講解了SQLAlchemy 的套用。
圖書目錄
前言 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
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