SQLAlchemy 2.0 文档
- 上一章: SQLAlchemy 统一教程
- 下一章: 使用事务和 DBAPI
- 上一级: 首页
- 本页内容
建立连接 - 引擎¶
欢迎 ORM 和 Core 阅读者!
每个连接到数据库的 SQLAlchemy 应用程序都需要使用一个 Engine
。本节内容适用于所有用户。
任何 SQLAlchemy 应用程序的起点都是一个名为 Engine
的对象。此对象充当特定数据库连接的中心来源,提供连接工厂以及一个名为 连接池 的连接存放空间。引擎通常是一个全局对象,对于特定的数据库服务器仅创建一次,并使用 URL 字符串进行配置,该字符串描述了如何连接到数据库主机或后端。
在本教程中,我们将使用一个纯内存 SQLite 数据库。这种方法非常方便,因为无需设置实际存在的数据库即可进行测试。使用 create_engine()
函数创建 Engine
。
>>> from sqlalchemy import create_engine
>>> engine = create_engine("sqlite+pysqlite:///:memory:", echo=True)
create_engine
的主要参数是字符串 URL,上面以字符串 "sqlite+pysqlite:///:memory:"
传递。此字符串告诉 Engine
三个重要的事实
我们正在与什么类型的数据库通信?这是上面的
sqlite
部分,它在 SQLAlchemy 中链接到一个称为 方言 的对象。我们正在使用哪个 DBAPI?Python DBAPI 是一个第三方驱动程序,SQLAlchemy 使用它与特定数据库进行交互。在本例中,我们使用的是名称
pysqlite
,在现代 Python 使用中,它是 sqlite3 用于 SQLite 的标准库接口。如果省略,SQLAlchemy 将为所选的特定数据库使用默认的 DBAPI。我们如何定位数据库?在本例中,我们的 URL 包含短语
/:memory:
,它指示sqlite3
模块我们将使用一个**纯内存**数据库。这种类型的数据库非常适合实验,因为它不需要任何服务器,也不需要创建新文件。
我们还指定了一个参数 create_engine.echo
,它将指示 Engine
将其发出的所有 SQL 日志记录到一个 Python 日志记录器,该记录器将写入标准输出。此标志是设置 Python 日志记录更正式的方式 的简写方式,对于脚本中的实验很有用。许多 SQL 示例将在 [SQL]
链接下方包含此 SQL 日志输出,单击链接将显示完整的 SQL 交互。
flambé! 龙和炼金术士 图像设计由 Rotem Yaari 创建并慷慨捐赠。
使用 Sphinx 7.2.6 创建。最后生成文档时间: 2024 年 11 月 8 日星期五 上午 08:41:19 EST