Python PostgreSQL - 插入数据

2025年3月5日 | 阅读 3 分钟

下面的教程将指导我们使用 Python PostgreSQL API 将数据插入数据库的方法。

但在我们开始之前,让我们先简要了解一下 PostgreSQL 及其 Python API。

了解 PostgreSQL

PostgreSQL 是一个开源的 RDBMS,广泛用于存储和处理结构化数据。为了使用 Python 与 PostgreSQL 进行交互,我们需要一个名为 psycopg2 的 。该库将作为 Python 中符合 DB-API 2.0 标准的接口,用于处理 PostgreSQL 数据库。

PostgreSQL 的一些特性

以下是 PostgreSQL 的一些特性:

  1. 关系型数据库管理系统 (RDBMS): PostgreSQL 是一个 RDBMS,这意味着我们可以将数据以由多行和多列组成的表的形式进行存储和组织。它使用 SQL 进行数据查询和操作,通过主键、外键和唯一约束等约束来确保记录的完整性。
  2. ACID 合规性: PostgreSQL 保证事务的原子性、一致性、隔离性和持久性。
  3. 数据类型: 它支持各种数据类型,包括数字、字符串、日期/时间、JSON 和自定义类型。
  4. 并发访问: 能有效地处理多个并发连接,支持并发读写操作。
  5. 索引: 提供索引支持,用于更快速的数据检索和查询优化。
  6. 高级 SQL: 支持复杂的 SQL 查询、子查询、连接和聚合功能。

使用 Python 的 psycopg2 模块将数据插入数据库

PostgreSQL 中的 INSERT 查询用于将新数据(行)直接添加到表中。当在 Python 中运行 PostgreSQL 时,使用 psycopg2 等库,您可以执行 INSERT 查询将数据插入数据库表中。

语法

  1. table_name:将插入数据的表名。
  2. (column1, column2, ...):可以插入数据的列的可选列表。如果省略,则所有列都需要值。
  3. VALUES (value1, value2, ...):要插入到指定列的值。

示例

代码解释

  • 连接到数据库: `psycopg2.connect()` 函数使用提供的数据库凭据建立与 PostgreSQL 数据库的连接。
  • 创建游标: `conn.cursor()` 方法创建一个用于执行 SQL 语句的游标对象。
  • 定义 INSERT 语句: `insert_query` 变量存储 SQL INSERT 语句,该语句指定将插入数据的表(“users”)和值(“name”和“email”)。
  • 要插入的数据: `data_to_insert` 元组包含将插入表中的实际记录(“Don Wilson”、“don.wilson@example.com”)。
  • 执行 INSERT 语句: `cur.execute()` 方法使用提供的数据执行 INSERT 语句,将新记录插入“users”表中。
  • 提交事务: `conn.commit()` 语句提交事务,使插入操作在数据库中永久生效。
  • 关闭游标和连接: 最后,`cur.close()` 和 `conn.close()` 语句关闭游标和连接,以释放资源并维护正确的数据库管理实践。