Untuk lebih spesifik ... cursor.execute()
metode mengambil argumen opsional yang berisi nilai untuk dikutip dan diinterpolasi ke dalam templat/pernyataan SQL. Ini TIDAK dilakukan dengan %
sederhana operator! cursor.execute(some_sql, some_params)
adalah TIDAK sama dengan cursor.execute(some_sql % some_params)
Python DB-API
menetapkan bahwa driver/modul yang sesuai harus menyediakan .paramstyle
atribut yang dapat berupa 'qmark', 'numeric', 'named', 'format', atau 'pyformat' ... sedikit muning. Ini masih lebih aman daripada mencoba mengutip dan menginterpolasi nilai ke dalam string SQL Anda sendiri.
Saya sangat terhibur membaca Peringatan Jangan pernah, jangan pernah, JANGAN pernah menggunakan Python string ... interpolasi ... Bahkan di bawah todongan senjata. dalam dokumen PsycoPG.