轻松上手,快乐学习!

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")

运行实例 »