前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SQL Alchemy连接数据库

SQL Alchemy连接数据库

作者头像
zy010101
发布2022-05-16 08:54:53
2K0
发布2022-05-16 08:54:53
举报
文章被收录于专栏:程序员程序员

SQL Alchemy连接数据库

使用 SQLAlchemy 连接数据库需要创建一个 Engine 的对象。此对象充当与特定数据库的连接的中心源,为这些数据库连接提供工厂和连接池。Engine通常是一个只为特定数据库(例如MySQL)创建一次的全局对象,并且使用 URL 字符串进行配置,该字符串将描述它应如何连接到数据库主机或后端。在本文中,我们使用MySQL作为SQL Alchemy的后端数据库。Engine是通过create_engine()创建的。

创建数据库

SQL Alchemy不能直接创建库,只能是表级别的操作。因此,需要我们手动创建数据库。创建名为sqlalchemy的数据库。

代码语言:javascript
复制
CREATE DATABASE IF NOT EXISTS sqlalchemy CHARATER SET UTF8;

示例代码

接下来,我们使用SQL Alchemy来连接数据库。示例代码如下:

代码语言:javascript
复制
from sqlalchemy import create_engine

# 创建Engine连接MySQL数据库
url = "mysql+mysqldb://sa:jZ3FPwfwz8phiSzA@127.0.0.1:3306/sqlalchemy?charset=utf8"
engine = create_engine(url=url, echo=True, future=True)

首先,解释一下create_engine中url参数的组成。

在这里插入图片描述
在这里插入图片描述

echo参数记录Engine发出的所有SQL到Python记录器,该记录器将写入标准输出。此标志对于脚本中的试验非常有用;而指定future=True则是以便我们充分使用SQL Alchemy 2.0 样式用法。

最后,为了测试我们是否成功连接到数据库,可以在使用下面这段代码:

代码语言:javascript
复制
from sqlalchemy import create_engine
from sqlalchemy import text

# 连接数据库
url = "mysql+mysqldb://sa:jZ3FPwfwz8phiSzA@127.0.0.1:3306/sqlalchemy?charset=utf8"
engine = create_engine(url=url, echo=True, future=True)

# 测试连接是否成功
with engine.connect() as conn:
    result = conn.execute(text("select 'hello world'"))
    print(result.all())

懒惰连接

当engine首次由create_engine()返回时,实际上尚未尝试连接到数据库;只有在第一次要求它对数据库执行任务时才会发生真正连接到数据库,这是一种称为延迟初始化的软件设计模式。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-05-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • SQL Alchemy连接数据库
    • 创建数据库
      • 示例代码
        • 懒惰连接
        相关产品与服务
        云数据库 SQL Server
        腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档