ほとんどの言語は、一般的なパラメーター化されたステートメントを実行する方法を提供しますが、Pythonも例外ではありません。パラメータ化されたクエリが使用される場合、ステートメントの準備をサポートするデータベースは自動的にそうします。
Pythonでは、パラメーター化されたクエリは次のようになります。
cursor.execute("SELECT FROM tablename WHERE fieldname = %s", [value])
パラメータ化の特定のスタイルは、ドライバによって異なる場合があります。dbモジュールをインポートしてから、print yourmodule.paramstyle
を実行できます。 。
PEP-249 から :
paramstyle
String constant stating the type of parameter marker formatting expected by the interface. Possible values are [2]: 'qmark' Question mark style, e.g. '...WHERE name=?' 'numeric' Numeric, positional style, e.g. '...WHERE name=:1' 'named' Named style, e.g. '...WHERE name=:name' 'format' ANSI C printf format codes, e.g. '...WHERE name=%s' 'pyformat' Python extended format codes, e.g. '...WHERE name=%(name)s'