6.6. 数据库

未匹配的标注

file

DB-API

Python 数据库 API 为 Python 的数据库访问模块定义了一套标准化的接口。该接口被记录在 PEP 249 中。几乎所有的 Python 数据库模块,诸如 sqlite3psycopgmysql-python 都遵循该接口。

这里 和 这里 的教程讲解了如何使用遵循 DB-API 接口的模块。

SQLAlchemy

SQLAlchemy 是一套常用的数据库工具集。不同于很多其他数据库工具的是,SQLAlchemy 不仅提供了 一个 ORM 层,还提供了一套不使用 SQL 来写数据库无关型代码的通用 API。

$ pip install sqlalchemy

Records

Records 是一个极简主义 SQL 库,旨在向各种各样的数据库发送原始的 SQL 查询语句。数据可以通过编程的方式使用,或者按照大量非常有用的数据格式被导出。

$ pip install records

此外,用于导出 SQL 数据的一个命令行工具也被包含在内。

Django ORM

Django ORM 是 Django 所使用的接口,可提供数据库访问功能。

这套接口基于 模型层 的理念,而这一抽象层使得其在 Python 中操作数据变得更加简单。

基本概念:

  • 每个模型都是一个 Python 类,并且是 django.db.models.Model 的子类。
  • 模型中的每个属性都代表了一个数据库的域。
  • Django 提供了一套自动生成的数据库访问 API,详见 Making queries

peewee

peewee 是另一套 ORM,它注重轻量化,并且对默认支持 SQLite,MySQL 和 Postgres 的 Python 2.6+ 和 3.2+ 版本提供支持。peewee 的 模型层 与 Django ORM 中的模型层类似,并且还拥有 类 SQL 方法 用于查询数据。尽管 peewee 对 SQLite,MySQL 和 Postgres 的支持已经达到了开箱即用的程度,你还可以在这个链接中找到更多的 peewee 扩展功能模块

PonyORM

PonyORM 也是一套 ORM,不过其查询数据库的方式有所不同。与使用类 SQL 语言或者布尔表达式不同,PonyORM 使用了 Python 生成器的语法。并且,PonyORM 还提供了图形化的模式编辑器用于生成 PonyORM 的实体。PonyORM 对 Python 2.6 以上和 Python 3.3 以上版本提供支持,并可以连接到 SQLite,MySQL,Postgre 或是 Oracle。

SQLObject

SQLObject 同样是一套 ORM。它提供了广泛的数据库支持:常用的数据库系统如 MySQL,Postgres 和 SQLite,更特殊一点的系统如 SAP DB,SyBase 和 MSSQL。不过 SQLObject 只支持 Python 2.6 以上的版本(译者注:较新版本如 SQLObject 3.6.0 已经支持 Python 3.4 以上的 Python 3 版本)。

本文章首发在 LearnKu.com 网站上。

本译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

原文地址:https://learnku.com/docs/python-guide/20...

译文地址:https://learnku.com/docs/python-guide/20...

上一篇 下一篇
讨论数量: 0
发起讨论 只看当前版本


暂无话题~