MySQLdb によって実行された実際のクエリを表示する方法
MySQLdb を使用して Python でデータベース クエリをデバッグする場合、正確なクエリを調べると役立つことがあります。実行中のクエリ、特にパラメータ化後のクエリ。これは、意図したクエリと実際の実行の間のエラーや不一致を特定するのに役立ちます。
実行されたクエリへのアクセス
MySQLdb バージョン 1.2.2 では、Cursor オブジェクトは、クエリ情報を取得するための明示的な Cursor.info() メソッドを提供しません。ただし、最後に実行されたクエリ文字列を保持するcursor._last_executedという属性があります。この属性は、クエリの実行中に例外が発生した場合でもアクセスできます。
使用例
この属性をデバッグ目的で利用するには、クエリの実行後に次のようにアクセスできます。
<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>
利点
cursor._last_executed を使用すると、プロファイリングや MySQL クエリ ロギングなどの他のデバッグ手法に比べていくつかの利点があります。
以上がMySQLdb によって実行された実際のクエリを表示するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。