第一部分 SQLAlchemy Core 3
第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 61
第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 Detached InstanceError 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 119
第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章 SQLAIchemy的高级应用 133
14.1混合属性 133
14.2关联代理 136
14.3集成SQLAlchemy和Flask 141
14.4 SQLAcodegen 143
第15章 接下来做什么 149
关于作者 150
关于封面 150