轻松上手,快乐学习!

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

运行实例 »