Python MySQL 更新表
更新表
使用“UPDATE”语句更新表中的现有记录:
实例
把地址“Valley 345”更新为“Canyoun 123”:import mysql.connector mydb = mysql.connector.connect( host="localhost", user="yourusername", passwd="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,则将更新所有记录!
防止SQL注入
在update语句中,使用转义查询是一种很好的做法。
这是为了防止SQL注入,这是一种常见的网络黑客技术,可以破坏或滥用您的数据库。
mysql.connector模块使用占位符%s来转义delete语句中的值:
实例
使用占位符%s 方法转义值:import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
passwd="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")
运行实例 »
