SQLAlchemy Core - 连接到数据库

在上一章中,我们讨论了 SQLAlchemy 中的表达式语言。现在让我们继续讨论连接到数据库所涉及的步骤。

Engine 类将 Pool 和 Dialect 连接在一起,以提供数据库 连接和行为 的来源。使用 create_engine() 函数实例化 Engine 类的对象。

create_engine() 函数将数据库作为一个参数。数据库不需要在任何地方定义。标准调用形式必须将 URL 作为第一个位置参数发送,通常是指示数据库方言和连接参数的字符串。使用下面给出的代码,我们可以创建一个数据库。

>>> from sqlalchemy import create_engine
>>> engine = create_engine('sqlite:///college.db', echo = True)

对于 MySQL 数据库,请使用以下命令 −

engine = create_engine("mysql://user:pwd@localhost/college",echo = True)

要特别提及用于连接的 DB-APIURL 字符串 的格式如下 −

dialect[+driver]://user:password@host/dbname

例如,如果您将 PyMySQL 驱动程序与 MySQL 一起使用,请使用以下命令 −

mysql+pymysql://<username>:<password>@<host>/<dbname>

echo 标志 是设置 SQLAlchemy 日志记录的快捷方式,它通过 Python 的标准日志记录模块完成。在后续章节中,我们将学习所有生成的 SQL。要隐藏详细输出,请将 echo 属性设置为 None。create_engine() 函数的其他参数可能是方言特定的。

create_engine() 函数返回一个 Engine 对象。Engine 类的一些重要方法是 −

Sr.No. 方法与说明
1

connect()

返回连接对象

2

execute()

执行 SQL 语句构造

3

begin()

返回一个上下文管理器,该管理器提供已建立事务的连接。操作成功后,事务提交,否则回滚

4

dispose()

处理引擎使用的连接池

5

driver()

引擎使用的方言的驱动程序名称

6

table_names()

返回数据库中所有可用表名的列表

7

transaction()

在事务边界内执行给定函数