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, "條記錄已刪除")
執行示例 »