Python可用于数据库应用程序。MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。 MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。本文主要介绍Python MySQL 更新表(Update SET)。

1、更新表(Update SET)

可以使用“ UPDATE”语句来更新表中的现有记录:

例如:

将地址列从“ Valley 345”覆盖为“ Canyoun 123”:

import mysql.connector

mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="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子句指定应更新的记录。如果省略WHERE子句,所有记录将被更新!

2、防止SQL注入

最好在更新语句中转义任何查询的值。

这是为了防止SQL注入,这是破坏或滥用数据库的常见Web黑客技术。

mysql.connector模块使用占位符%s来转义delete语句中的值:

例如:

通过使用占位符%s方法转义值:

import mysql.connector

mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="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")

推荐文档