您可以使用 "UPDATE" 语句更新表中的现有记录:
将地址列从 "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, "record(s) affected")
运行示例 »
重要的!:注意声明:mydb.commit()
。必须进行更改,否则不会对表进行任何更改。
请注意 UPDATE 语法中的 WHERE 子句:WHERE 子句指定应更新哪一条或多条记录。如果省略 WHERE 子句,所有记录都将被更新!
转义任何查询的值被认为是一种很好的做法,在更新语句中也是如此。
这是为了防止 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, "record(s) affected")
运行示例 »
截取页面反馈部分,让我们更快修复内容!也可以直接跳过填写反馈内容!