Python 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)

ปฏิบัติตัวอย่าง