A maioria das linguagens fornece uma maneira de fazer instruções parametrizadas genéricas, o Python não é diferente. Quando uma consulta parametrizada é usada, os bancos de dados que suportam a preparação de instruções o farão automaticamente.
Em python, uma consulta parametrizada se parece com isso:
cursor.execute("SELECT FROM tablename WHERE fieldname = %s", [value])
O estilo específico de parametrização pode ser diferente dependendo do seu driver, você pode importar seu módulo db e então fazer um
print yourmodule.paramstyle
. De PEP-249 :
estilo de parâmetro
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'