建立连接 - 引擎¶
欢迎 ORM 和 Core 读者!
每个连接到数据库的 SQLAlchemy 应用程序都需要使用引擎
。这个简短的部分适合所有人。
任何 SQLAlchemy 应用程序的开头都是一个名为
发动机
。此对象充当与特定数据库连接的中心源,为这些数据库连接提供工厂和称为连接池的保持空间。该引擎通常是仅为特定数据库服务器创建一次的全局对象,并使用 URL 字符串进行配置,该字符串将描述它应如何连接到数据库主机或后端。
在本教程中,我们将使用仅限内存中的 SQLite 数据库。这是一种简单的测试方法,无需设置实际的预先存在的数据库。Engine
是使用
create_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 记录到
将写入 standard out 的 Python 记录器。 此标志是一种简写方式
的设置
Python 日志记录更正式,可用于脚本中的实验。许多 SQL 示例将在 [SQL]
链接下包含此 SQL 日志记录输出,单击该链接时,将显示完整的 SQL 交互。