JavaScript/Node.js 连接 PostgreSQL 基础教程

本教程将详细介绍如何使用 JavaScript 和 Node.js 连接到 PostgreSQL 数据库,并执行各种数据库操作。

发布于

PostgreSQL 是一个开源的关系型数据库管理系统,它具有强大的功能和丰富的扩展性,被广泛用于各种应用程序的数据存储和管理。JavaScript 是一种多用途编程语言,Node.js 是其后端运行时环境。本教程将详细介绍如何使用 JavaScript 和 Node.js 连接到 PostgreSQL 数据库,并执行各种数据库操作。

本文简介

本文将向您介绍如何使用 JavaScript 和 Node.js 连接到 PostgreSQL 数据库。我们将从设置先决条件开始,然后逐步展示如何创建连接、执行查询、插入数据以及关闭连接。最后,我们将提供一个简单的示例,演示如何连接到一个名为 “user” 的表格,并查询其中的数据。

先决条件

为了连接 PostgreSQL 数据库,您需要具备以下先决条件:

  1. Node.js 安装:确保您的计算机上安装了 Node.js 运行时环境。您可以从 Node.js 官方网站 下载和安装 Node.js。

  2. PostgreSQL 数据库安装:您需要安装 PostgreSQL 数据库服务器并确保它正在运行。您可以从 PostgreSQL 官方网站 下载适用于您操作系统的安装程序。

  3. PostgreSQL 数据库连接信息:您需要知道 PostgreSQL 数据库的连接信息,包括主机地址、端口、数据库名称、用户名和密码。

连接 PostgreSQL 的步骤

现在,让我们深入了解如何使用 JavaScript 和 Node.js 连接到 PostgreSQL 数据库。

步骤 1: 导入必要的模块

首先,您需要导入适用于 PostgreSQL 数据库连接的模块。一个常用的模块是 pg,它提供了与 PostgreSQL 数据库的连接和操作功能。以下是导入模块的示例:

const { Pool, Client } = require("pg")

步骤 2: 创建数据库连接

使用 PoolClient 对象创建一个 PostgreSQL 数据库连接。Pool 对象适用于多连接的情况,而 Client 对象适用于单一连接。以下是创建连接的示例:

// 使用 Pool 对象创建连接(适用于多连接场景)
const pool = new Pool({
  user: "your_username", // PostgreSQL 用户名
  password: "your_password", // PostgreSQL 密码
  host: "localhost", // 主机地址
  database: "your_database_name", // 数据库名称
  port: 5432 // PostgreSQL 默认端口
})

// 或者使用 Client 对象创建连接(适用于单一连接场景)
const client = new Client({
  user: "your_username",
  password: "your_password",
  host: "localhost",
  database: "your_database_name",
  port: 5432
})

步骤 3: 执行数据库操作

现在,您可以使用 Node.js 执行各种数据库操作,如查询、插入、更新、删除等。以下是一个示例代码片段,用于查询 PostgreSQL 数据库中的用户表格:

// 查询用户表格中的所有数据
const query = 'SELECT * FROM "user"'

pool.query(query, (err, res) => {
  if (err) {
    console.error("查询数据时发生错误:", err)
  } else {
    console.log("用户列表:")
    for (const row of res.rows) {
      console.log(`Username: ${row.username}, Email: ${row.email}`)
    }
  }
})

步骤 4: 插入数据

要插入数据,您可以使用相似的方法,如下所示:

// 插入一条用户记录
const newUser = { username: "john_doe", email: "[email protected]" }
const insertQuery = 'INSERT INTO "user" (username, email) VALUES ($1, $2)'
const values = [newUser.username, newUser.email]

pool.query(insertQuery, values, (err, res) => {
  if (err) {
    console.error("插入数据时发生错误:", err)
  } else {
    console.log("数据插入成功!")
  }
})

示例

以下是一个简单的 Node.js 示例,演示如何连接到 PostgreSQL 数据库、查询用户表格并插入一条用户记录:

const { Pool } = require("pg")

async function main() {
  const pool = new Pool({
    user: "your_username", // PostgreSQL 用户名
    password: "your_password", // PostgreSQL 密码
    host: "localhost", // 主机地址
    database: "your_database_name", // 数据库名称
    port: 5432 // PostgreSQL 默认端口
  })

  try {
    // 查询用户表格中的所有数据
    const query = 'SELECT * FROM "user"'

    const res = await pool.query(query)

    console.log("用户列表:")
    for (const row of res.rows) {
      console.log(`Username: ${row.username}, Email: ${row.email}`)
    }

    // 插入一条用户记录
    const newUser = { username: "john_doe", email: "[email protected]" }
    const insertQuery = 'INSERT INTO "user" (username, email) VALUES ($1, $2)'
    const values = [newUser.username, newUser.email]

    await pool.query(insertQuery, values)

    console.log("数据插入成功!")
  } catch (err) {
    console.error("发生错误:", err)
  } finally {
    // 关闭数据库连接
    pool.end()
  }
}

main()

总结

这篇教程介绍了如何使用 JavaScript 和 Node.js 连接到 PostgreSQL 数据库。我们涵盖了设置先决条件、创建连接、执行查询和插入数据的基本步骤。根据您的需求,您可以使用这些示例代码来进行更复杂的数据库操作。希望本教程对您在 Node.js 中使用 PostgreSQL 数据库开发有所帮助。