数据库

../_images/33907152464_a99fdcc8de_k_d.jpg

数据库API

python数据库API(db-api)为python数据库访问模块定义了一个标准接口。记录在 PEP 249 .几乎所有的python数据库模块,如 sqlite3psycopgmysql-python 符合此接口。

可以找到解释如何使用符合此接口的模块的教程。 herehere .

SQLAlchemy

SQLAlchemy 是一个常用的数据库工具包。与许多数据库库不同,它不仅提供了ORM层,而且还提供了一个通用的API,用于在不使用SQL的情况下编写数据库无关代码。

$ pip install sqlalchemy

Records

Records 是最低限度的SQL库,设计用于将原始SQL查询发送到各种数据库。数据可以通过编程方式使用,也可以导出为许多有用的数据格式。

$ pip install records

还包括用于导出SQL数据的命令行工具。

PugSQL

PugSQL 是一个简单的python接口,用于组织和使用参数化的手写SQL。它是一个反ORM,在哲学上是低保真的,但它仍然在Python中呈现出一个干净的接口。

$ pip install pugsql

Django ORM

Django ORM是 Django 提供数据库访问。

这是基于 models 这是一种抽象,使在Python中操作数据更容易。

基础知识:

  • 每个模型都是一个python类,它子类django.db.models.model。

  • 模型的每个属性表示一个数据库字段。

  • Django为您提供了一个自动生成的数据库访问API;请参见 Making queries .

peewee

peewee 是另一个侧重于轻量级的ORM,支持python 2.6+和3.2+,默认情况下支持sqlite、mysql和postgresql。这个 model layer 类似于姜戈ORM,它有 SQL-like methods 查询数据。虽然sqlite、mysql和postgresql是开箱即用的,但是 collection of add-ons 可用。

PonyORM

PonyORM 是一个采用不同方法查询数据库的ORM。使用Python的生成器语法,而不是编写类似SQL的语言或布尔表达式。还有一个图形模式编辑器可以为您生成ponyorm实体。它支持python 2.6+和python 3.3+,可以连接到sqlite、mysql、postgresql和oracle。

SQLObject

SQLObject 是另一个ORM。它支持各种各样的数据库:常见的数据库系统,如mysql、postgresql和sqlite,以及更奇特的系统,如sap db、sybase和microsoft SQL Server。它只支持从python 2.6向上的python2。