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")运行实例 »