Python MySQL 更新表格
更新表格
可以使用 "UPDATE" 语句更新表格中的现有记录
示例
将 "address" 列的值从 "Valley 345" 覆盖为 "Canyon 123"
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
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 注入,这是一种常见的网络攻击技术,会导致数据库被破坏或滥用。
mysql.connector 模块使用占位符 %s
来转义更新语句中的值
示例
使用占位符 %s
方法转义值
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
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, "条记录受影响")
运行示例 »