pythonでのparepared statementのplaceholderの話



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 


Instead, use the DB-API’s parameter substitution. Put ? as a placeholder wherever you want to use a value, and then provide a tuple of values as the second argument to the cursor’s execute() method. (Other database modules may use a different placeholder, such as %s or :1.) For example:

? を使うらしい。dbapi2.0で挙げられている表記の内どれが利用可能か調べてみる。


無難に ? を使うことにする。他のdb moduleの場合placeholderに違う物を使っていたような記憶がある。