更新表
可以使用“UPDATE”语句,更新表格内的现有记录:
示例
将地址栏由“Valley 345”改写为“Canyoun 123”:
import mysql.connectormydb = mysql.connector.connect(host="localhost",user="你的用户名",passwd="你的密码",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注入
在update语句中,为了防止SQL注入,通常应该转义查询值。
SQL注入是一种常见的web黑客技术,用于破坏或误用数据库。
mysql.connector 模块有方法可以转义查询值:
示例
使用占位符%s方法转义查询值:
import mysql.connectormydb = mysql.connector.connect(host="localhost",user="你的用户名",passwd="你的密码",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, " 条记录已更新")