Python MySQL ลบจากโดย
ลบบันทึก
คุณสามารถลบระเบียนออกจากตารางที่มีอยู่ได้โดยใช้คำสั่ง "DELETE FROM":
ตัวอย่าง
ลบบันทึกใด ๆ ที่มีที่อยู่คือ "ภูเขา 21":
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)
mycursor =
mydb.cursor()
sql = "DELETE FROM customers WHERE address =
'Mountain 21'"
mycursor.execute(sql)
mydb.commit()
print(mycursor.rowcount, "record(s) deleted")
สำคัญ!:สังเกตคำสั่ง:
mydb.commit()
. จำเป็นต้องทำการเปลี่ยนแปลง มิฉะนั้น จะไม่มีการเปลี่ยนแปลงใดๆ กับตาราง
สังเกตส่วนคำสั่ง WHERE ในไวยากรณ์ DELETE:ส่วนคำสั่ง WHERE ระบุว่าระเบียนใดที่ควรถูกลบ หากคุณละเว้นส่วนคำสั่ง WHERE ระเบียนทั้งหมดจะถูกลบ!
ป้องกันการฉีด SQL
ถือเป็นแนวทางปฏิบัติที่ดีในการหลีกเลี่ยงค่าของข้อความค้นหาใดๆ รวมทั้งในคำสั่งลบด้วย
นี่คือการป้องกันการฉีด SQL ซึ่งเป็นเทคนิคการแฮ็คเว็บทั่วไปในการทำลายหรือใช้ฐานข้อมูลของคุณในทางที่ผิด
โมดูล mysql.connector ใช้ตัวยึดตำแหน่ง%s
เพื่อหนีค่าในคำสั่ง delete:
ตัวอย่าง
ค่า Escape โดยใช้วิธีตัวยึดตำแหน่ง%s
:
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)
mycursor = mydb.cursor()
sql = "DELETE FROM customers WHERE address =
%s"
adr = ("Yellow Garden 2", )
mycursor.execute(sql, adr)
mydb.commit()
print(mycursor.rowcount, "record(s) deleted")