大多数语言提供了一种做泛型参数化语句的方法,Python也不例外。使用参数化查询时,支持准备语句的数据库将自动执行此操作。在python中,参数化查询如下所示:cursor.execute("SELECT FROM tablename WHERE fieldname = %s", [value])根据您的驱动程序,参数化的具体样式可能会有所不同,您可以导入数据库模块然后执行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'