Python MySQL ที่
- หน้าก่อน MySQL ค้นหา
- หน้าต่อไป MySQL จัด序
ใช้ตัวกรองเพื่อเลือก
เมื่อเลือกบันทึกจากตาราง คุณสามารถใช้คำสั่ง "WHERE" ในการกรองคำสั่งเลือก:
ตัวอย่าง
เลือกบันทึกที่ "Park Lane 38" ผลลัพธ์:
import mysql.connector mydb = mysql.connector.connect( host="localhost", user="yourusername", passwd="yourpassword", database="mydatabase" ) mycursor = mydb.cursor() sql = "SELECT * FROM customers" WHERE address ='Park Lane 38'" mycursor.execute(sql) myresult = mycursor.fetchall() for x in myresult: print(x)
วงวาง
คุณยังสามารถเลือกบันทึกที่เริ่มต้นด้วยอักษรหรือคำ, มีหรือสิ้นสุดด้วยอักษรหรือคำ
กรุณาใช้ %
นำว่า
ตัวอย่าง
เลือกบันทึกที่มีที่อยู่ที่มีคำ "way"
import mysql.connector mydb = mysql.connector.connect( host="localhost", user="yourusername", passwd="yourpassword", database="mydatabase" ) mycursor = mydb.cursor() sql = "SELECT * FROM customers WHERE address LIKE '"%way%" mycursor.execute(sql) myresult = mycursor.fetchall() for x in myresult: print(x)
ป้องกัน SQL Injection
เมื่อผู้ใช้ให้ค่าค้นหา คุณควรหลีกเลี่ยงค่าเหล่านั้น
เหตุผลของการกระทำนี้เพื่อป้องกัน SQL Injection ซึ่งเป็นเทคนิคหลังบันไดทางอินเทอร์เน็ตที่สามารถทำลายหรือใช้ชั่งโดยผู้รุนแรง
มอดูล mysql.connector มีวิธีเหล่านี้สำหรับการหลีกเลี่ยงค่าค้นหา
ตัวอย่าง
ใช้วิธีแทนที่ %s สำหรับการหลีกเลี่ยงค่าค้นหา
import mysql.connector mydb = mysql.connector.connect( host="localhost", user="yourusername", passwd="yourpassword", database="mydatabase" ) mycursor = mydb.cursor() sql = "SELECT * FROM customers WHERE address =" %s" adr = ("Yellow Garden 2", ) mycursor.execute(sql, adr) myresult = mycursor.fetchall() for x in myresult: print(x)
- หน้าก่อน MySQL ค้นหา
- หน้าต่อไป MySQL จัด序