Python MySQL 按名称删除
删除记录
您可以使用 "DELETE FROM" 语句从现有表中删除记录。
示例
删除地址为 "Mountain 21" 的任何记录。
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="你的用户名",
password="你的密码",
database="mydatabase"
)
mycursor = mydb.cursor()
sql = "DELETE FROM customers WHERE address = 'Mountain 21'"
mycursor.execute(sql)
mydb.commit()
print(mycursor.rowcount, "条记录已删除")
运行示例 »
重要提示:请注意语句: mydb.commit()
。这是使更改生效所必需的,否则表将不会发生任何更改。
注意 DELETE 语法中的 WHERE 子句: WHERE 子句指定要删除的记录。如果省略 WHERE 子句,将删除所有记录!
防止 SQL 注入
在删除语句中转义任何查询的值被认为是一种好习惯。
这是为了防止 SQL 注入,SQL 注入是一种常见的网络攻击技术,用于破坏或滥用您的数据库。
mysql.connector 模块使用占位符 %s
来转义删除语句中的值。
示例
使用占位符 %s
方法转义值。
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="你的用户名",
password="你的密码",
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, "条记录已删除")
运行示例 »