Hầu hết các ngôn ngữ đều cung cấp một cách để thực hiện các câu lệnh được tham số hóa chung, Python cũng không khác. Khi một truy vấn được tham số hóa được sử dụng, cơ sở dữ liệu hỗ trợ chuẩn bị các câu lệnh sẽ tự động làm như vậy.
Trong python, một truy vấn được tham số hóa trông giống như sau:
cursor.execute("SELECT FROM tablename WHERE fieldname = %s", [value])
Kiểu tham số cụ thể có thể khác nhau tùy thuộc vào trình điều khiển của bạn, bạn có thể nhập mô-đun db của mình và sau đó thực hiện print yourmodule.paramstyle
.
Từ 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'