Flask SQLAlchemy怎么查看参数化查询的实际SQL语句

这篇具有很好参考价值的文章主要介绍了Flask SQLAlchemy怎么查看参数化查询的实际SQL语句。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Flask SQLAlchemy操作数据库时,不管是直接用sql语句还是用orm,有的时候为了调试,都需要知道参数化查询的sql语句生成的实际sql语句是什么。

比如:

params = {'org': '123'}

# 如下是参数化查询sql语句,如果sql语句很长,
# 想知道实际的sql语句,即:
# "select name from table1 where org='123'"
# 怎么办?
sql = "select name from table1 where org=:org"
db.session.execute(sql, params).fetchall()

经过层层调试,发现实际语句在 pymysql/cursors.py 中的 Cursor.mogrify 方法中生成(其他mysql驱动如mysqlclient,情况也类似),在 return query 打个断点,调式时就能看到实际的sql语句了:

Flask SQLAlchemy怎么查看参数化查询的实际SQL语句,数据库,Flask,flask,python,mysql
Cursor.mogrify 方法所在文件(pymysql包下的cursors.py文件):
Flask SQLAlchemy怎么查看参数化查询的实际SQL语句,数据库,Flask,flask,python,mysql
完。文章来源地址https://www.toymoban.com/news/detail-792796.html

到了这里,关于Flask SQLAlchemy怎么查看参数化查询的实际SQL语句的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Mybatis】调试查看执行的 SQL 语句

    1. 问题场景: 记录日常开发过程中 Mybatis 调试 SQL 语句,想要查看Mybatis 中执行的 SQL语句,导致定位问题困难 2. 解决方式 双击shift 找到mybatis源码中的 MappedStatement 的 getBoundSql() 方法 Mybatis 的底层都会把 Mapper.xml 配置文件中的SQL 标签转化为基于 JDBC 执行的语句, boundSql 变量可

    2024年02月13日
    浏览(37)
  • SQL常用(查询日期)语句

    目录 SQL常用日期查询语句及显示格式设置 1.查询当前年、月、周相关时间  2.查询当前第几季度 3.查询当前在一年内是第几周 SqlServer中的日期与时间函数  SQL查询前10条的方法为: 1.1.查询当前年份 1.2.查询当前年份第几天  1.3.查询当前月份第几天 1.4.查询当前周的星期几 

    2024年02月16日
    浏览(41)
  • sql创建查询视图语句

    学生表 c表 s表 sc表   --1.查询全体学生的学号,姓名与年龄 SELECT sno,sname,age=year(getdate())-year(sbirth) FROM S; --2.查询计算机系(CS)的学生学号,姓名 SELECT sno,sname FROM S WHERE sdept=\\\'计算机\\\'; --3.查询计算机系所有的女生姓名和年龄 SELECT sname,age=(year(getdate())-year(sbirth)) FROM S WHERE sdept

    2024年02月05日
    浏览(57)
  • SQL查询语句

    # 格式: select * from 表名 order by 要排序的列1 [asc/desc], 要排序的列2 [asc/desc]; # 解释: #   1. 无论SQL语句简单或者是复杂, order by语句一般都放最后, 注意: 如果有limit(分页), 则它(limit)在最后. #   2. asc表示升序, desc表示降序, 其中, 默认是升序, 所以asc可以省略不写. #   3. 如果排序的

    2024年02月05日
    浏览(38)
  • SQL语句练习——查询

    数据表如下: 1.用SQL完成以下检索: 检索在北京的供应商的名称。 检索发给供应商S6的订购单号。 检索出职工E6发给供应商S6的订购单信息。 检索出向供应商S3发过订购单的职工的职工号和仓库号。 检索出目前与S3供应商没有联系的职工信息。 检索出目前没有任何订购单的

    2024年02月04日
    浏览(58)
  • SQL语句之子查询

    子查询指一个查询语句嵌套在另一个查询语句内部的查询,这个特性从MySQL 4.1开始引入。 SQL 中子查询的使用大大增强了 SELECT 查询的能力,因为很多时候查询需要从结果集中获取数据,或者需要从同一个表中先计算得出一个数据结果,然后与这个数据结果(可能是某个标量,

    2023年04月27日
    浏览(41)
  • 【SQL】MySQL的查询语句

    MySQL是一种广泛使用的关系型数据库管理系统,它被广泛地应用于各种应用程序和网站。学会使用MySQL的查询语句可以帮助我们更好地管理和分析数据,从而更好地利用数据库中的信息。在本篇博客中,我们将深入学习MySQL的查询语句,包括 SELECT 语句、 WHERE 子句、 JOIN 语句等

    2024年02月06日
    浏览(44)
  • SQL server 查询语句大全

    在 SQL Server 中,查询语句是最常用的语句类型,用于从数据库中提取有用的信息。SQL Server 中常用的查询语句有 SELECT、FROM、WHERE、GROUP BY、HAVING 和 ORDER BY。 1. SELECT SELECT 语句用于从表中选取数据进行查询,语法如下: ```sql SELECT column1, column2, column3, ...   FROM table_name; ``` 在这个

    2024年02月13日
    浏览(51)
  • hive sql 语句查询规则

    注意: 1、order by 会对输入做全局排序,因此只有一个reducer,会导致当输入规模较大时,需要较长的计算时间。 2、sort by不是全局排序,其在数据进入reducer前完成排序。因此,如果用sort by进行排序,并且设置mapred.reduce.tasks1,则sort by只保证每个reducer的输出有序,不保证全局

    2024年04月28日
    浏览(38)
  • [MySQL]不允许你不会SQL语句之查询语句

    🎬 博客主页:博主链接 🎥 本文由 M malloc 原创,首发于 CSDN🙉 🎄 学习专栏推荐:LeetCode刷题集! 🏅 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! 📆 未来很长,值得我们全力奔赴更美好的生活✨ ------------------❤️分割线❤️------------------------- —————————

    2024年02月08日
    浏览(87)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包