欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > 能源 > 【SQLAlChemy】如何连接数据库?

【SQLAlChemy】如何连接数据库?

2024/10/25 10:28:44 来源:https://blog.csdn.net/weixin_55818116/article/details/139549228  浏览:    关键词:【SQLAlChemy】如何连接数据库?

使用SQLAlChemy连接数据库

导入包

首先,导入创建数据库引擎的包。

from sqlalchemy import create_engine

编写数据库配置

SQLALCHEMY_DATABASE_URL = "mysql://root:123456789@127.0.0.1:3306/tortoise"

字段解释:

  • mysql::这是数据库方言和驱动的名称。在本例中,我们使用的是 MySQL 数据库。
  • root::这是连接数据库的用户名。
  • 123456789: 这是连接数据库的密码。
  • @127.0.0.1::这是数据库服务器的 IP 地址。在本例中,数据库服务器位于同一台机器上,所以我们使用了本地主机 IP 地址 127.0.0.1。
  • 3306::这是数据库服务器的端口号。对于 MySQL 数据库,缺省端口号是 3306。
  • /tortoise:这是数据库的名称。在本例中,我们将连接到名为 tortoise 的数据库。

创建数据库引擎

传入数据库配置连接,来创建数据库引擎。

# 创建数据库引擎
engine = create_engine(SQLALCHEMY_DATABASE_URL,
)

创建测试连接

# 创建连接
with engine.connect() as connection:rs = connection.execute(text('select * from user_account'))print(rs)res = rs.fetchall()for r in res:print(r)

输出:

<sqlalchemy.engine.cursor.CursorResult object at 0x1059b49a0>
(4, 'yan', 'xuecan')
(5, 'yan', 'pengbo')
(6, 'zhang', 'zhangsan')
(7, 'zhang', 'xiaoming')
(10, 'zhang', 'xin')
(14, 'li', 'ming')
(15, 'yao', 'zhetian')
(16, 'fan', 'sixian')
(17, 'test_name', 'test_fullname')

数据库表内容:

注意

在执行 SQL 语句时,必须加上 text,否则会报以下错误sqlalchemy.exc.ObjectNotExecutableError: Not an executable object: 'xxxxxxx'。因为你尝试执行一个字符串,而不是一个 SQLAlchemy 的查询对象。

如果你想执行原生的 SQL 语句,你需要使用 text 函数来构建一个可执行的 SQL 文本对象。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com