SQLAlchemy - 简介

SQLAlchemy 是一个流行的 SQL 工具包和对象关系映射器。它用 Python 编写,为应用程序开发人员提供 SQL 的全部功能和灵活性。它是一款根据 MIT 许可发布的开源跨平台软件

SQLAlchemy 以其对象关系映射器 (ORM) 而闻名,使用该映射器,可以将类映射到数据库,从而允许对象模型和数据库模式从一开始就以干净分离的方式进行开发。

随着 SQL 数据库的大小和性能开始变得重要,它们的行为不再像对象集合。另一方面,随着对象集合中的抽象开始变得重要,它们的行为不再像表和行。 SQLAlchemy 旨在兼顾这两个原则。

因此,它采用了数据映射器模式(如 Hibernate),而不是许多其他 ORM 使用的活动记录模式。使用 SQLAlchemy 可以从不同的角度查看数据库和 SQL。

Michael Bayer 是 SQLAlchemy 的原作者。其初始版本于 2006 年 2 月发布。最新版本编号为 1.2.7,最近于 2018 年 4 月发布。

什么是 ORM?

ORM(对象关系映射)是一种编程技术,用于在面向对象编程语言中不兼容的类型系统之间转换数据。通常,面向对象 (OO) 语言(如 Python)中使用的类型系统包含非标量类型。这些不能表示为整数和字符串等原始类型。因此,OO 程序员必须转换标量数据中的对象才能与后端数据库交互。但是,大多数数据库产品(如 Oracle、MySQL 等)中的数据类型都是主要的。

在 ORM 系统中,每个类都映射到底层数据库中的表。您无需自己编写繁琐的数据库接口代码,ORM 会为您处理这些问题,而您可以专注于编写系统逻辑。

SQLAlchemy - 环境设置

让我们讨论一下使用 SQLAlchemy 所需的环境设置。

安装 SQLAlchemy 需要任何高于 2.7 的 Python 版本。最简单的安装方法是使用 Python 包管理器 pip。此实用程序与 Python 的标准发行版捆绑在一起。

pip install sqlalchemy

使用上述命令,我们可以从 python.org 下载 SQLAlchemy 的最新发布版本并将其安装到您的系统中。

如果是 Python 的 anaconda 发行版,可以使用以下命令从 conda 终端 安装 SQLAlchemy −

conda install -c anaconda sqlalchemy

也可以从以下源代码安装 SQLAlchemy −

python setup.py install

SQLAlchemy 旨在使用为特定数据库构建的 DBAPI 实现进行操作。它使用方言系统与各种类型的 DBAPI 实现和数据库进行通信。所有方言都需要安装适当的 DBAPI 驱动程序。

以下是包含的方言 −

  • Firebird
  • Microsoft SQL Server
  • MySQL
  • Oracle
  • PostgreSQL
  • SQLite
  • Sybase

要检查 SQLAlchemy 是否正确安装并了解其版本,请在 Python 提示符中输入以下命令 −

>>> import sqlalchemy
>>>sqlalchemy.__version__
'1.2.7'