建立连接-引擎

优质
小牛编辑
133浏览
2023-12-01

SQLAlchemy 1.4 / 2.0 Tutorial

此页是 SQLAlchemy 1.4/2.0教程 .

上一页: SQLAlchemy 1.4/2.0教程 |下一步: |next|

建立连接-引擎

任何SQLAlchemy应用程序的开始都是一个名为 Engine . 此对象充当连接到特定数据库的中心源,提供工厂和称为 connection pool 对于这些数据库连接。引擎通常是一个只为特定数据库服务器创建一次的全局对象,并使用一个URL字符串进行配置,该字符串将描述如何连接到数据库主机或后端。

在本教程中,我们将使用内存中的SQLite数据库。这是一种测试东西的简单方法,无需设置实际的预先存在的数据库。这个 Engine 通过使用创建 create_engine() ,指定 create_engine.future 标志设置为 True 以便我们充分利用 2.0 style 用途:

>>> from sqlalchemy import create_engine
>>> engine = create_engine("sqlite+pysqlite:///:memory:", echo=True, future=True)

主要论点 create_engine 是字符串URL,上面作为字符串传递 "sqlite+pysqlite:///:memory:" . 此字符串指示 Engine 三个重要事实:

  1. 我们在和什么样的数据库通信?这是 sqlite 上面的部分,它在SQLAlchemy中链接到一个名为 dialect .

  2. 什么 DBAPI 我们在吸毒吗? Python (The Python) DBAPI 是SQLAlChemy用来与特定数据库交互的第三方驱动程序。在这种情况下,我们使用的名称是 pysqlite ,在现代Python中使用的是 sqlite3 SQLite的标准库接口。如果省略,SQLAlChemy将使用缺省值 DBAPI 对于选定的特定数据库。

  3. 如何定位数据库?在本例中,我们的URL包含以下短语 /:memory: ,它是 sqlite3 我们将使用的模块 in-memory-only 数据库。这种数据库非常适合实验,因为它不需要任何服务器,也不需要创建新文件。

我们还指定了一个参数 create_engine.echo ,这将指导 Engine 要将它发出的所有SQL记录到Python记录器中,该记录器将写入标准输出。这面旗子是建立的一种速记方法 Python logging more formally 并且对于脚本实验非常有用。许多SQL示例将在 [SQL] 单击该链接时,将显示完整的SQL交互。

SQLAlchemy 1.4 / 2.0 Tutorial

下一个教程部分: 处理事务和DBAPI