Python MySQL 删除记录
删除记录
可以使用“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,则将删除所有记录!
防止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")
运行实例 »
