De flesta språk tillhandahåller ett sätt att göra generiska parametriserade uttalanden, Python är inte annorlunda. När en parametriserad fråga används kommer databaser som stöder att förbereda satser automatiskt att göra det.
I python ser en parameteriserad fråga ut så här:
cursor.execute("SELECT FROM tablename WHERE fieldname = %s", [value])
Den specifika stilen för parametrering kan skilja sig beroende på din drivrutin, du kan importera din db-modul och sedan göra en print yourmodule.paramstyle
.
Från 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'