Повечето езици предоставят начин да се правят общи параметризирани изрази, 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'