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")运行实例 »