Python MySQL Where
เลือกด้วยตัวกรอง
เมื่อเลือกระเบียนจากตาราง คุณสามารถกรองส่วนที่เลือกได้โดยใช้คำสั่ง "WHERE":
ตัวอย่าง
เลือกระเบียนที่อยู่คือ "Park Lane 38": ผลลัพธ์:
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="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)
อักขระตัวแทน
คุณยังสามารถเลือกเรกคอร์ดที่ขึ้นต้น รวม หรือลงท้ายด้วยตัวอักษรหรือวลีที่กำหนดได้
ใช้%
เพื่อแสดงอักขระตัวแทน:
ตัวอย่าง
เลือกระเบียนที่ที่อยู่มีคำว่า "ทาง":
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="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
เมื่อผู้ใช้ระบุค่าการสืบค้น คุณควรหลีกเลี่ยงค่า
นี่คือการป้องกันการฉีด SQL ซึ่งเป็นเทคนิคการแฮ็คเว็บทั่วไปในการทำลายหรือใช้ฐานข้อมูลของคุณในทางที่ผิด
โมดูล mysql.connector มีวิธีการหลีกเลี่ยงค่าการสืบค้น:
ตัวอย่าง
หนีค่าการสืบค้นโดยใช้%s
เมธอดตัวยึดตำแหน่ง:
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="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)