Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Menggunakan Pembolehubah dengan Selamat dalam Pertanyaan SQL Dalam Python?
Menggunakan Pembolehubah dalam Penyata SQL dalam Python
Apabila berurusan dengan pernyataan SQL dalam Python, anda mungkin perlu memasukkan pembolehubah ke dalam pertanyaan anda. Untuk memastikan pelaksanaan pertanyaan ini yang betul, adalah penting untuk mengelak daripada memasukkan nama pembolehubah sebagai sebahagian daripada teks SQL itu sendiri.
Contoh Senario:
Pertimbangkan kod berikut:
cursor.execute("INSERT INTO table VALUES var1, var2, var3")
di mana var1 ialah integer dan var2 dan var3 ialah rentetan. Pendekatan ini akan mengakibatkan ralat kerana Python akan mentafsir nama pembolehubah sebagai sebahagian daripada pertanyaan, yang membawa kepada pernyataan SQL yang tidak sah.
Penyelesaian:
Untuk menyelesaikan masalah ini , anda harus menggunakan ruang letak dalam pernyataan SQL anda dan lulus nilai pembolehubah sebagai tuple menggunakan kaedah execute(). Berikut ialah kod yang diperbetulkan:
cursor.execute("INSERT INTO table VALUES (%s, %s, %s)", (var1, var2, var3))
Dalam contoh ini, ruang letak %s mewakili nilai pembolehubah dan tuple (var1, var2, var3) mengandungi nilai sebenar yang perlu dimasukkan ke dalam pangkalan data.
Nota: Adalah penting untuk menggunakan tuple untuk menghantar berbilang parameter. Jika anda perlu melepasi satu parameter, anda masih mesti menggunakan tupel dengan koma belakang:
cursor.execute("INSERT INTO table VALUES (%s)", (var1,))
Faedah:
Menggunakan ruang letak dan tupel memberikan beberapa faedah :
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggunakan Pembolehubah dengan Selamat dalam Pertanyaan SQL Dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!