Python MySQL Delete From

ຖອນບັນທຶກ

ທ່ານສາມາດນຳໃຊ້ວິທີ 'DELETE FROM' ເພື່ອຖອນບັນທຶກຈາກຕະຫຼາດທີ່ມີຢູ່ໄປ:

实例

ຖອນບັນທຶກທີ່ມີທີ່ຢູ່ທີ່ 'Mountain 21':

import mysql.connector
mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  passwd="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()ຕ້ອງການເຮັດການປ່ຽນແປງ, ບໍ່ອາດຈະມີການປ່ຽນແປງໃດໆທີ່ຢູ່ໃນຕະຫຼາດ.

ບັງຄັບຄວາມຈິງວ່າການນຳໃຊ້ວິທີ DELETE ພາຍໃນຂໍ້ສັບສື WHERE: ຂໍ້ສັບສື WHERE ບົ່ງຕາມທີ່ຈະຖອນບັນທຶກ. ຖ້າບໍ່ມີການບັງຄັບ WHERE, ບັນທຶກທັງໝົດຈະຖອນ!

防止 SQL 注入

在 delete 语句中,转义任何查询的值也是一种好习惯。

此举是为了防止 SQL 注入,这是一种常见的网络黑客技术,可以破坏或滥用您的数据库。

mysql.connector 模块使用占位符 %s 来转义 delete 语句中的值:

实例

使用占位符 %s 方法来转义值:

import mysql.connector
mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  passwd="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")

运行实例