首页 >数据库 >mysql教程 >如何从 SQLAlchemy 表达式中检索原始的、已编译的 SQL 查询?

如何从 SQLAlchemy 表达式中检索原始的、已编译的 SQL 查询?

Mary-Kate Olsen
Mary-Kate Olsen原创
2025-01-07 10:46:41257浏览

How Can I Retrieve the Raw, Compiled SQL Query from a SQLAlchemy Expression?

从 SQLAlchemy 表达式检索原始、编译的 SQL 查询

SQLAlchemy 的查询接口为构建数据库查询提供了强大的抽象。然而,访问底层 SQL 语句可能具有挑战性。要获取带有绑定参数的原始编译 SQL 查询,请考虑以下选项:

使用literal_binds参数

文档建议使用literal_binds打印查询q参数:

print(q.statement.compile(compile_kwargs={"literal_binds": True}))

注意事项

  • 此方法仅支持基本类型,例如整数和字符串。
  • 如果 bindParam() 在没有预设值的情况下使用,无法将其转换为string.

文档警告

文档警告您不应将此方法用于来自不受信任来源(例如 Web 表单)的数据。 SQLAlchemy 将 Python 值转换为 SQL 字符串值的机制不能安全地处理不受信任的数据,并且不会检查正在传递的数据的类型。

以上是如何从 SQLAlchemy 表达式中检索原始的、已编译的 SQL 查询?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn