SQLAlchemy - 简介


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

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

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

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

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

什么是 ORM?

ORM(对象关系映射)是一种在面向对象的编程语言中在不兼容的类型系统之间转换数据的编程技术。通常,像 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 驱动程序。

以下是包含的方言 -

  • 火鸟
  • 微软SQL服务器
  • MySQL
  • 甲骨文
  • PostgreSQL
  • SQLite
  • 赛贝斯

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

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