Python MySQL 更新表
更新表
您可以使用 "UPDATE" 語句來更新表中的現有記錄。
示例
將 address 列從 "Valley 345" 覆蓋為 "Canyon 123"
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="你的使用者名稱",
password="你的密碼",
database="mydatabase"
)
mycursor = mydb.cursor()
sql = "UPDATE customers SET address = 'Canyon 123' WHERE address = 'Valley 345'"
mycursor.execute(sql)
mydb.commit()
print(mycursor.rowcount, "條記錄受影響")
執行示例 »
重要提示:請注意語句: mydb.commit()
。這是使更改生效所必需的,否則表將不會發生任何更改。
注意 UPDATE 語法中的 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 = "UPDATE customers SET address = %s WHERE address = %s"
val = ("Valley 345", "Canyon 123")
mycursor.execute(sql, val)
mydb.commit()
print(mycursor.rowcount, "條記錄受影響")
執行示例 »