前言
在前端开发过程中,与后端的数据交互是非常关键的一步。而 PostgreSQL 数据库作为一个免费、开源且具备扩展性的关系型数据库,因其高度可定制化的特性,近年来变得非常流行。在使用 PostgreSQL 数据库过程中,我们不仅需要掌握相关的 SQL 语言,还需要掌握如何与数据库进行交互,而这正是东方财富(Eastmoney)基于 Node.js 平台开发的 East-Postgres 模块所提供的帮助。
本文主要介绍如何使用 npm 包 East-Postgres 进行 PostgreSQL 数据库相关操作。
准备工作
在我们开始使用 East-Postgres 包之前,需要安装并配置好 PostgreSQL 数据库,以及安装 Node.js。
安装 PostgreSQL 数据库
Windows 下安装
可以从 PostgreSQL 官网 下载 Windows 版本的安装包,并按照提示一步步完成安装。
Mac 下安装
通过 homebrew 进行安装:
brew install postgres
具体可以参考 PostgreSQL 官网 的安装说明。
安装 Node.js
可以从 Node.js 官网 下载对应版本的安装包,并按照提示一步步完成安装。
根据中国国情,建议大家使用淘宝源进行 Node.js 的下载,避免其它问题。淘宝源下载安装 Node.js 的命令 npm
可以采用如下方式进行:
npm install -g cnpm --registry=https://registry.npm.taobao.org
安装好之后,我们需要运行如下命令进行验证:
cnpm -v
若有类似如下输出,则说明 Node.js 安装成功:
5.5.1
创建数据库
在这里,我们需要手动创建一个名为 "example" 的数据库。可以在终端中运行如下命令进行创建:
createdb example
安装 East-Postgres 模块
在准备工作依次完成后,可以在我们的项目中安装使用 East-Postgres 模块。
在终端中切换至 project 目录,运行如下命令进行安装:
npm install east-postgres --save
安装完成后,我们可以在 node_modules
文件夹中找到安装好的 East-Postgres 模块。
连接数据库
在我们开始使用 East-Postgres 模块之前,需要先连接到 PostgreSQL 数据库。
在我们的项目中创建并编辑 index.js
文件,将如下代码复制到文件中:
-- -------------------- ---- ------- ----- -- - ------------------------ ----- ------ - - ----- ----------- ----- ------------ --------- ---------- --------- --------- ----- ----- - ----- ---- - --- --------------- ------------------ ------- ----- ---- -- - ---------------- ---- --
在这段代码中,我们首先通过 require
方法引入了 East-Postgres 模块,并且提供了数据库的配置信息:
const config = { user: 'postgres', // 数据库用户名 host: 'localhost', // 数据库主机地址 database: 'example', // 数据库名称 password: '123456', // 数据库访问密码 port: 5432, // 数据库端口号 }
随后,我们使用 pg.Pool()
创建了一个数据库连接池的实例,并在其中执行了一个简单的 SQL 查询:
const pool = new pg.Pool(config) pool.query('SELECT NOW()', (err, res) => { console.log(err, res) })
在这个查询中,我们查询了当前时间,并且使用 console.log()
方法输出了查询结果。在本段代码执行成功后,应该能够在终端中看到当前时间的输出信息。
操作数据库
为了更进一步地操作数据库,可以使用 pool.query()
方法执行 SQL 语句。下面我们介绍如何在 JavaScript 中使用两个基本的 SQL 语句:SELECT 和 INSERT。
SELECT 语句
在查询数据时,可以通过选择表中的特定列以获得有用的信息。
下面是一个SELECT语句的示例:
const selectFromTable = (table) => { return pool.query(`SELECT * FROM ${table}`, (err, res) => { console.log(err, res) }) } selectFromTable('users')
在这个代码示例中,我们展示了如何使用 pool.query()
方法查询数据库中的数据表 "users",并且返回其中全部数据的结果。
另外,我们可以根据需要选择其他行和条件,比如:
const selectFromTableWithCondition = (table, columnToMatch, matchValue) => { return pool.query(`SELECT * FROM ${table} WHERE ${columnToMatch} = '${matchValue}'`, (err, res) => { console.log(err, res) }) } selectFromTableWithCondition('users', 'username', 'Linda')
在这个代码示例中,我们展示了如何使用 pool.query()
方法查询数据库中的数据表 "users",并且返回其中列名为 "username" 且值为 "Linda" 的行。
INSERT 语句
可以使用 INSERT INTO
语句将数据插入到表中。
下面是一个 INSERT 语句的示例:
-- -------------------- ---- ------- ----- --------------- - ------- ----- -- - ----- ---- - ----------------- ----- ------ - ----------------------------- -- ------ ----- --- -------- - ------------ - ------ ------ ------------------ ---- -------- --------------- ---- ------ ----------------- ------ ----- ---- -- - ---------------- ---- -- - ------------------------ - --------- -------- ------ -------------------- ---- -- --
在这个代码示例中,我们展示了如何使用 pool.query()
方法向数据表 "users" 添加一行数据,而这个方法将返回包含产生的 ID 的响应。
结语
在本文中,我们介绍了 npm 包 East-Postgres 的安装方式,并详细地展示了如何使用它连接、操作 PostgreSQL 数据库。希望这篇文章对你的学习、指导有所帮助。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60066dad7108f76aa73ecac4