La maggior parte dei linguaggi fornisce un modo per eseguire istruzioni parametrizzate generiche, Python non è diverso. Quando viene utilizzata una query con parametri, i database che supportano la preparazione di istruzioni lo faranno automaticamente.
In Python una query parametrizzata è simile a questa:
cursor.execute("SELECT FROM tablename WHERE fieldname = %s", [value])
Lo stile specifico di parametrizzazione può essere diverso a seconda del tuo driver, puoi importare il tuo modulo db e quindi fare un print yourmodule.paramstyle
.
Da 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'