一尘不染

Python SQLite如何获取正在执行的SQL字符串语句

sql

假设我们有一条SQL语句,只需要在对数据库执行之前用参数完成即可。例如:

sql = '''
      SELECT  id, price, date_out
      FROM sold_items
      WHERE date_out BETWEEN ? AND ?
      '''

database_cursor.execute(sql, (start_date, end_date))

我如何获取经过解析和执行的字符串?

SELECT  id, price, date_out
FROM sold_items
WHERE date_out BETWEEN 2010-12-05 AND 2011-12-01

在这种简单情况下,它不是很重要,但是我还有其他SQL语句要复杂得多,出于调试目的,我想在sqlite管理器中自己执行它们并检查结果。

提前致谢


阅读 161

收藏
2021-05-05

共1个答案

一尘不染

更新。我从该网页上了解到,自Python 3.3起,您可以使用以下命令触发执行的SQL的打印

connection.set_trace_callback(print)

如果您想恢复为静默处理,请使用

connection.set_trace_callback(None)

您可以使用其他功能代替print

2021-05-05