前言ix
SQLAlchemy入门xv
部分SQLAlchemyCore
章模式和类型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章使用SQLAlchemyCore处理数据12
2.1插入数据12
2.2查询数据15
前言ix
SQLAlchemy入门xv
部分SQLAlchemyCore
章模式和类型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章使用SQLAlchemyCore处理数据12
2.1插入数据12
2.2查询数据15
2.2.1ResultProxy16
2.2.2控制查询中的列数18
2.2.3排序18
2.2.4限制返回结果集的条数19
2.2.5内置SQL函数和标签20
2.2.6过滤21
2.2.7ClauseElement22
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.1AttributeError34
3.1.2IntegrityError35
3.1.3处理错误37
3.2事务38
第4章测试45
4.1使用测试数据库做测试45
4.2使用mock51
第5章反射54
5.1反射单个表54
5.2反射整个数据库56
5.3使用反射对象构建查询57
第二部分SQLAlchemyORM
第6章使用SQLAlchemyORM定义模式61
6.1使用ORM类定义表61
6.2关系63
6.3模式持久化65
第7章使用SQLAlchemyORM处理数据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.1SQLAlchemy会话90
8.2异常92
8.2.1MultipleResultsFound异常93
8.2.2DetachedInstanceError94
8.3事务96
第9章使用SQLAlchemyORM测试103
9.1使用测试数据库做测试103
9.2使用mock111
0章使用SQLAlchemyORM和自动映射进行反射113
10.1使用自动映射反射数据库113
10.2反射关系115
第三部分Alembic
1章Alembic入门119
11.1创建迁移环境119
11.2配置迁移环境120
2章创建迁移122
12.1创建基础空迁移122
12.2自动生成迁移124
12.3手动创建迁移127
3章控制Alembic129
13.1确定数据库的迁移级别129
13.2迁移降级130
13.3标记数据库迁移级别131
13.4生成SQL131
4章SQLAlchemy的不错应用133
14.1混合属性133
14.2关联代理136
14.3集成SQLAlchemy和Flask141
14.4SQLAcodegen143
5章接下来做什么149
关于作者150
关于封面150