如何查看 MySQLdb 执行的实际查询
当使用 MySQLdb 在 Python 中调试数据库查询时,检查确切的查询会很有帮助正在执行的查询,尤其是在参数化之后。这可以帮助识别预期查询与其实际执行之间的任何错误或差异。
访问执行的查询
在 MySQLdb 版本 1.2.2 中,游标对象不提供显式的 Cursor.info() 方法来检索查询信息。但是,有一个名为cursor._last_execulated 的属性保存最后执行的查询字符串。即使在查询执行期间发生异常,也可以访问此属性。
使用示例
要利用此属性进行调试,您可以在执行查询后访问它:如下所示:
<code class="python">import MySQLdb db = MySQLdb.connect(... ) cursor = db.cursor() # Execute a query with parameters query = "SELECT * FROM users WHERE name = %s" cursor.execute(query, ("John", )) # Print the actual query executed print(cursor._last_executed)</code>
优点
与其他调试技术(例如分析或 MySQL 查询日志记录)相比,使用cursor._last_execulated 具有多个优点:
以上是如何查看MySQLdb实际执行的查询?的详细内容。更多信息请关注PHP中文网其他相关文章!