Python MySQL 插入操作

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

INSERT INTO 语句用于向表中添加一条记录。在 Python 中,我们可以在值的位置使用格式说明符 (%s)。

我们将实际值以元组的形式提供给游标的 execute() 方法。

注意:在向表中插入任何值之前,请确保您先创建了表。如果您想在 Python SQL 中添加表,请参考教程 Python MySQL 创建表

语法

示例

输出

Python MySQL Insert Operation

说明

在上面的程序中,我们首先使用 mysql.connector 库将 Python 连接到 MySQL 数据库。连接是使用详细信息建立的,例如主机 (localhost)、用户 (root)、密码 (Root) 和数据库 (mydatabase)。

我们创建了一个名为 db_cursor 的游标对象来执行 SQL 命令。我们定义了一个名为 sql_query 的 SQL INSERT 查询,用于在具有两个字段:name 和 address 的 customers 表中插入一条新记录。要插入的值,即 "John" 和 "Highway 21",以元组的形式传递给 customer_data 变量。

db_cursor.execute() 方法将 SQL 查询发送到数据库,从而创建我们的 customers 表。然后使用 db_connection.commit() 方法永久保存数据库中的更改。最后,程序使用 db_cursor.rowcount 打印插入的行数,以确认插入成功。

注意:执行 mydb.commit() 语句对于保存对 MYSQL 表的更改至关重要。如果未使用它,将不会保存任何更改,并且在连接关闭后所有更改都将丢失。

插入多行

Python MySQL 允许用户一次插入多行到表中。这可以通过使用 executemany() 方法来实现。

语法

参数

  • SQL_query: 此参数代表您要执行的 SQL 查询。
  • Values_list: 此参数指定一个元组列表,其中包含用户想要插入的记录。

示例

记录将成功添加,Python 将返回以下输出。

输出

Python MySQL Insert Operation

说明

在上面的程序中,我们使用 mysql.connector 库将 Python 连接到 MySQL 数据库。连接是使用凭据建立的。我们创建了一个名为 db_cursor 的游标对象来执行 SQL 命令。

我们创建了一个名为 insert_query 的 SQL 查询。在这里,我们编写了一个 SQL INSERT 语句来插入每条记录,其中 %s 作为要添加的记录的占位符。

接下来,我们定义了名为 customer_data 的元组列表。每个元组代表要插入 customers 表的一行。每个元组包含两个值:name 和 address。

我们使用 executemany() 方法一次将多条记录插入表中。我们使用 commit() 方法保存了数据库中的更改。

使用 rowcount 属性,我们计算了成功插入了多少行。最后,我们使用 close() 方法关闭了游标和连接。

结论

本教程解释了如何向我们的 MySQL 表添加新数据。INSERT INTO 语句用于向您的表插入新记录。通过使用executemany() 方法,我们一次添加了多条记录。此过程不仅节省了时间,还减少了单个查询的数量,从而使整个过程更快、更高效。INSERT 操作对于创建需要存储大量数据的健壮的实际应用程序特别有用。

常见问题解答 / FAQ

1. 在 MYSQL 中使用 INSERT 语句的目的是什么?

MYSQL INSERT INTO 语句用于向您的表插入一条新记录。

2. SQL 查询中的 %s 代表什么?

%s 用于参数化查询,并作为要插入记录的占位符。

3. 在 Python 中,以下哪个方法可以一次将多条记录插入表中?

  1. execute()
  2. insert()
  3. run()
  4. executemany()

d) executemany()

4. 如果我们在向表中插入数据后不调用 connection.commit() 会发生什么?

  1. Python 程序将崩溃
  2. 所有记录将自动保存在数据库中
  3. 插入的记录将不会保存到数据库中
  4. 它创建一个备份

c) 插入的记录将不会保存到数据库中

5. 在 SQL 查询中,可以不指定列名而插入记录吗?

是的,通常建议指定列名,以防止错误并避免任何混淆。