SQLAlchemy 核心 – 连接到数据库
SQLAlchemy 核心 – 连接到数据库
在上一章中,我们讨论了 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-API,URL 字符串采用如下形式 –
dialect[+driver]://user:password@host/dbname
例如,如果您在MySQL中使用PyMySQL 驱动程序,请使用以下命令 –
mysql+pymysql://<username>:<password>@<host>/<dbname>
的回声标志是一个快捷方式设置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() 在事务边界内执行给定的函数 |