Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

ฉันจะเขียนแบบสอบถาม SQL IN ด้วย Python tuple ได้อย่างไร


ในการเขียน SQL ในเคียวรี คุณต้องแน่ใจว่าคุณระบุตัวยึดตำแหน่งในคิวรีโดยใช้เพื่อให้การสืบค้นถูก Escape อย่างเหมาะสม ตัวอย่างเช่น

ตัวอย่าง

my_tuple = ("Hello", "world", "John")
placeholder= '?'
placeholders= ', '.join(placeholder for _ in my_tuple)
query= 'SELECT name FROM students WHERE id IN (%s)' % placeholders
print(query)

# ตอนนี้ดำเนินการโดยใช้เคอร์เซอร์

cursor.execute(query, my_tuple)

ผลลัพธ์

สิ่งนี้จะให้ผลลัพธ์

'SELECT name FROM students WHERE id IN (?, ?, ?)'

และเมื่อคุณเรียกใช้งาน มันจะแทนที่หรือไม่ ตัวยึดตำแหน่งอย่างถูกต้องโดยค่า Escape