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, "条记录受影响")
运行示例 »