📅  最后修改于: 2023-12-03 15:18:56.796000             🧑  作者: Mango
在MySQL数据库中,更新表数据是常见的操作,可以实现对表中数据的修改、更新和删除。在Python中,我们可以通过MySQL Connector库来操作MySQL数据库,并实现对表数据的更新。
首先,我们需要使用MySQL Connector库来连接MySQL数据库。可以通过以下代码实现:
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)
mycursor = mydb.cursor()
更新表数据可以使用UPDATE语句,可以通过以下代码实现:
sql = "UPDATE customers SET address = 'Canyon 123' WHERE address = 'Valley 345'"
mycursor.execute(sql)
mydb.commit()
print(mycursor.rowcount, "record(s) affected")
在上述代码中,我们将地址为'Valley 345'的数据更新为'Canyon 123'。
因为UPDATE需要提交,所以我们需要使用commit()方法。
在执行UPDATE语句之后,可以通过mycursor.rowcount来获取更新的记录数。
我们也可以通过循环来批量更新表数据,可以通过以下代码实现:
sql = "UPDATE customers SET address = %s WHERE address = %s"
val = ("Canyon 123", "Valley 345")
mycursor.execute(sql, val)
mydb.commit()
print(mycursor.rowcount, "record(s) affected")
在上述代码中,我们使用%s作为占位符,并通过val列表来替换占位符。
为了防止SQL注入攻击,我们需要使用参数化查询,可以通过以下代码实现:
sql = "UPDATE customers SET address = %s WHERE address = %s"
val = ("Canyon 123", "Valley 345")
mycursor.execute(sql, val)
mydb.commit()
print(mycursor.rowcount, "record(s) affected")
在上述代码中,我们使用%s作为占位符,并通过val列表来替换占位符。这种方式可以避免SQL注入攻击。