【有书共读21】Python编程之美 11
关系数据库将结构化数据存储在数据表中,并使用SQL来访问。
python是一门面向对象编程语言,数据库抽象层也可以实现对象关键映射,提供python对象和底层数据库之间的映射,并为这些类附加属性运算,以python代码来表现一个抽象版本的SQL。
数据库相关的python开发库:sqlite3、SQLAlchemy、Django ORM、peewee、PonyORM、SQLObject、Records。
sqlite3:是一个C库,在sqlite3背后提供数据库能力,以单个文件存储数据库,通常文件扩展类型为*.db。
SQLAlchemy:是一个非常流行的数据库工具包。SQLAlchemy不仅提供一个ORM层,而且提供一套一般化的API来编写不涉及SQL的与数据库类型无关的代码。SQLAlchemy可以在Jython和PyPy环境中运行,也支持熊python2.5到python3.x的全部版本。
Django ORM:为Django提供数据库访问能力的接口。
peewee:主要目标是未使用SQL的人提供一个轻量的数据库交互方式。可以在开发者未指定主键时隐式地为数据表创建主键。
PonyORM:采用的查询语法不是编写类SQL语言或者布尔表达式,而是使用python的生成器语法。还提供一个图形化的模式编辑器,可为开发者自动生成pythonORM实体。支持python2.6到python3.3。
SQLObject:实现了活跃记录模式,并最早提出一个新奇的理念,以标准操作符重载将某些SQL逻辑抽象成pythono操作。SQLObject支持多种数据库,如mysql、postgres、sqlite等。
Records:是一个精简的sql库,转为使用原生的SQL查询数据库而设计,支持多种数据库。主要是把tablib和SQLAlchemy捆绑在一起,提供一套友好的API和一个命令行应用。

查看19道真题和解析