sqlalchemy python数据库实战 pdf_SQLALCHEMY PYTHON数据库实战(第2版)
SQLAlchemy是一个流行的开源代码库,功能强大又相当灵活,能够帮助Python程序员使用各种关系型数据库,许多公司甚至把SQLAlchemy看作在Python中使用关系型数据库的标准方式,使用SQLAlchemy已经成为Python程序员推荐的技能之一。1.本书为O'Reilly系列丛书,众多年来“动物书”成为广大程序员心目中的解决问题的非常不错指南;2.本书通过真实示例,一步步指导读者使用
SQLAlchemy是一个流行的开源代码库,功能强大又相当灵活,能够帮助Python程序员使用各种关系型数据库,许多公司甚至把SQLAlchemy看作在Python中使用关系型数据库的标准方式,使用SQLAlchemy已经成为Python程序员推荐的技能之一。
1.本书为O'Reilly系列丛书,众多年来“动物书”成为广大程序员心目中的解决问题的非常不错指南;
2.本书通过真实示例,一步步指导读者使用SQLAlchemy构建简单的数据库应用程序,以及使用相同的元数据同时连接多个数据库,既是很棒的学习工具,也是不错的参考手册;
3.本书提供了SQLAlchemy Core和SQLAlchemy ORM两种用法的对照,读者可以根据实际情况选择全部阅读或者只阅读当前需要的部分;
4.本书提供了示例代码和相关练习的下载链接,读者可以将示例代码直接用于自己的程序,提高工作效率;
5.读者可以在图灵社区中与其他读者进行交流,共同解决阅读和工作中遇到的问题,结交更多的学习路上的小伙伴。
本书主要探讨SQLAlchemy,这个Python 库在关系型数据库和传统编程之间架起了一座桥
梁,有助于Python 程序员将应用程序连接到关系型数据库。本书首先通过对比的方式介绍了SQLAlchemy 的两种主要使用模式——SQLAlchemy Core 和SQLAlchemy ORM,然后探讨了数据库迁移工具Alembic 的用法,快速讲解了SQLAlchemy 的应用。
贾森·迈尔斯(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
“本书选用了大量清晰、简洁的示例,很好适合使用关系型数据库的Python开发者阅读。从简单查询到ORM访问再到模式迁移,本书几乎涵盖了方方面面,足以帮助读者将应用程序连接到任何一种关系型数据库。”
——Doug Hellman,惠普公司OpenStack贡献者,The Python Standard Library by Example作者
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)