”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > 以下是一些标题选项,请记住问题格式并关注核心问题: **选项 1(直接且简洁):** * **如何在 Flask-SQLAlchemy 中执行原始 SQL 查询?** **选择

以下是一些标题选项,请记住问题格式并关注核心问题: **选项 1(直接且简洁):** * **如何在 Flask-SQLAlchemy 中执行原始 SQL 查询?** **选择

发布于2024-11-04
浏览:252

Here are a few title options, keeping in mind the question format and focusing on the core issue:

**Option 1 (Direct and concise):**

* **How to Execute Raw SQL Queries in Flask-SQLAlchemy?** 

**Option 2 (Highlighting the  difference between 1.x and 2.0

在 Flask-SQLAlchemy 中执行原始 SQL

在使用 Flask-SQLAlchemy 时,您可能会遇到需要执行原始 SQL 的场景查询。这些查询可能涉及复杂的表连接或内联视图。问题中演示的使用connection.execute() 的初始方法可能会触发网关错误。为了解决这个问题,让我们探索 SQLAlchemy 版本 1.x 和 2.0 中推荐的方法。

SQLAlchemy 2.0

要在 SQLAlchemy 2.0 中执行原始 SQL,您可以利用engine.connect() 方法:

with engine.connect() as connection:
    result = connection.execute(text('SELECT * FROM your_table'))
    # Perform operations on the result

通过利用engine.connect()上下文管理器,您可以确保连接建立并在退出上下文时自动关闭。

SQLAlchemy 1. x

在 SQLAlchemy 1.x 中,您可以使用 db.engine.execute() 方法结合 text() 函数执行原始 SQL:

from sqlalchemy import text

sql = text('select name from penguins')
result = db.engine.execute(sql)
names = [row[0] for row in result]
print(names)

请注意,db.engine.execute() 方法执行“无连接”查询,这意味着它不建立数据库会话。此方法在 SQLAlchemy 2.0 中已弃用,为了一致性和最佳实践,应避免使用此方法。

最新教程 更多>

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3