Python MySQL 更新表

2025年8月20日 | 4 分钟阅读

UPDATE 操作用于更新数据库中现有的记录。您还可以更新任何特定行的数据;您所需要做的就是使用 WHERE 子句以及特定行的名称。

语法

UPDATE 操作的语法如下:

数据库操作

数据库名:mydatabase

:customers

表中有以下值。

示例

输出

Before Updating the record:
('Divya', 'Kolkata', 8)

After Updating the record:
('Reema', 'Kolkata', 8)

Python MySQL Update Table

说明

在上面的程序中,我们使用 mysql.connector 库将 Python 连接到 MySQL 数据库。

连接是使用主机 (localhost)、用户 (root)、密码 (Root) 和数据库 (mydatabase) 的详细信息建立的。

我们创建了一个名为 db_cursor 的游标对象来执行 SQL 命令

我们编写了一个 SQL 查询,使用占位符 (%s) 更新数据库。我们用 id 号为 8 的新值替换了旧值。

为了永久保存更改,我们使用了 commit() 方法。

防止 SQL 注入

在 SQL 中,转义任何查询的值始终是一个好习惯,包括在 UPDATE 语句中。SQL 注入是一种常见的网络攻击技术,许多黑客利用它来篡改和滥用您的数据库。因此,使用占位符 %s 方法来防止 SQL 注入。

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

示例

输出

Python MySQL Update Table

说明

在上面的程序中,我们使用 mysql.connector 库将 Python 连接到 MySQL 数据库。

连接是使用主机 (localhost)、用户 (root)、密码 (Root) 和数据库 (mydatabase) 的详细信息建立的。我们创建了一个名为 db_cursor 的游标对象来执行 SQL 命令。

我们使用占位符 %s 方法编写了一个 SQL UPDATE 查询来防止 SQL 注入。我们将旧值 'Kolkata' 替换为新值 'Goa'。

为了永久保存更改,我们使用了 commit() 方法,并使用 db_cursor.rowcount 打印了受影响的行数。

最后,我们使用 close() 方法关闭了游标和数据库连接。

结论

SQL 中的 UPDATE 查询用于修改或更改数据库中现有的记录。它是一个非常强大的功能,如果数据库中输入了任何错误的记录,可以纠正该错误。带有 WHERE 子句的UPDATE 有助于在不更改表其余部分的情况下更新特定行。

此外,使用 %s 等占位符可以帮助 Python 开发人员防止 SQL 注入。使用 UPDATE 不仅可以维护最新的记录,还有助于保持应用程序内数据的准确性。

常见问题/FAQ

1. 什么是 SQL 注入?如何防止它?

SQL 注入是一种常见的网络攻击技术,黑客利用它来操纵 SQL 查询并滥用数据库。通过在 SQL 查询中使用占位符 (%s) 可以轻松地防止它。

2. 检查 UPDATE 查询影响了多少行,正确的语法是什么?

  1. db_cursor.count()
  2. db_cursor.affected_rows()
  3. db_cursor.rowcount
  4. db_cursor.rows

c. db_cursor.rowcount

3. 在 SQL 数据库中使用 commit() 方法的目的是什么?

db_connection.commit() 方法用于保存数据库中的更改。如果您不使用它,则表不会发生任何更改。

4. 在 SQL 数据库中使用 UPDATE 语句时,如果不使用 WHERE 子句会发生什么?

WHERE 子句用于指定要在数据库中更新的确切记录。如果您省略 WHERE 子句,数据库中的所有记录都将被更新。


下一主题Join 操作