- SQLAlchemy 教程
- SQLAlchemy - 首页
- SQLAlchemy - 简介
- SQLAlchemy Core
- 表达式语言
- 连接数据库
- 创建表
- SQL 表达式
- 执行表达式
- 选择行
- 使用文本SQL
- 使用别名
- 使用 UPDATE 表达式
- 使用 DELETE 表达式
- 使用多个表
- 使用多表更新
- 参数有序更新
- 多表删除
- 使用连接
- 使用连接词
- 使用函数
- 使用集合操作
- SQLAlchemy ORM
- 声明映射
- 创建会话
- 添加对象
- 使用查询
- 更新对象
- 应用过滤器
- 过滤器运算符
- 返回列表和标量
- 文本SQL
- 构建关系
- 处理相关对象
- 处理连接
- 常见关系运算符
- 急切加载
- 删除相关对象
- 多对多关系
- 方言
- SQLAlchemy 有用资源
- SQLAlchemy - 快速指南
- SQLAlchemy - 有用资源
- SQLAlchemy - 讨论
SQLAlchemy Core - 连接数据库
在上一章中,我们讨论了 SQLAlchemy 中的表达式语言。现在让我们继续讨论连接数据库所涉及的步骤。
Engine 类将连接池和方言组合在一起,以提供数据库连接和行为的来源。Engine 类的对象使用create_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
例如,如果您使用PyMySQL 驱动程序与 MySQL,请使用以下命令:
mysql+pymysql://<username>:<password>@<host>/<dbname>
echo 标志是设置 SQLAlchemy 日志记录的快捷方式,这是通过 Python 的标准日志记录模块完成的。在后续章节中,我们将学习所有生成的 SQL。要隐藏详细输出,请将 echo 属性设置为None。create_engine() 函数的其他参数可能是特定于方言的。
create_engine() 函数返回一个Engine 对象。Engine 类的一些重要方法是:
序号 | 方法和描述 |
---|---|
1 | connect() 返回连接对象 |
2 | execute() 执行 SQL 语句构造 |
3 | begin() 返回一个上下文管理器,提供一个已建立事务的连接。操作成功后,提交事务,否则回滚事务 |
4 | dispose() 释放 Engine 使用的连接池 |
5 | driver() Engine 使用的方言的驱动程序名称 |
6 | table_names() 返回数据库中所有表名的列表 |
7 | transaction() 在事务边界内执行给定函数 |
广告