如何使用 Sequelize 操作 PostgreSQL 数据库

阅读时长 5 分钟读完

介绍

Sequelize 是一款基于 Node.js 的 ORM(对象关系映射)框架,支持操作多种关系型数据库,包括 PostgreSQL、MySQL、Oracle、SQLite 等。本文主要介绍如何使用 Sequelize 操作 PostgreSQL 数据库。

准备工作

在开始使用 Sequelize 前,需要先安装 Node.js 和 PostgreSQL 数据库,并创建一个新的数据库。

可以通过以下步骤创建一个名为 testdb 的数据库:

  1. 启动 PostgreSQL 数据库
  2. 进入 PostgreSQL shell:psql -U [username],其中 [username] 是已有的数据库用户
  3. 创建数据库:CREATE DATABASE testdb;

安装 Sequelize

在 Node.js 项目中使用 Sequelize,需要先安装该框架:

其中,pg 是 Node.js 的 PostgreSQL 驱动程序,而 pg-hstore 是将 JSON 数据转换为 SQL 值的帮助程序。我们需要同时安装这两个包。

定义 Model

在 Sequelize 中,Model 表示一个数据库表。通过定义 Model,可以方便地进行数据库操作。

下面是一个名为 User 的 Model 示例:

-- -------------------- ---- -------
----- - ---------- ---------- ----- - - ---------------------
----- --------- - --- -----------
  -------- -------------
  --------- ---------
  --------- -----------
  --------- ----------
---

----- ---- ------- ----- --

-----------
  --- -
    ----- ------------------
    ----------- -----
    -------------- -----
  --
  ----- -
    ----- -----------------
    ---------- ------
  --
  ------ -
    ----- -----------------
    ---------- ------
    ------- -----
  --
  --------- -
    ----- -----------------
    ---------- ------
  --
-- -
  ----------
  ---------- -------
  ---------------- -----
---

以上代码中,我们首先使用 Sequelize 初始化了一个新的 sequelize 实例,其中包括数据库名称、用户名和密码等相关信息。

然后,我们定义了一个名为 User 的 Model,并使用 User.init 方法初始化其属性。User Model 包括 id、name、email、password 四个字段。

通过 sequelize 参数指定 User Model 的数据库连接,modelName 参数指定该 Model 的名称,freezeTableName 参数可以防止 Sequelize 将表名转换为复数形式。

增删改查

插入数据

通过 create 方法可以向数据库中插入一条新的记录。

-- -------------------- ---- -------
-------------
  ----- --------
  ------ --------------------
  --------- ---------
---------- -- -
  ----------------- ------- ---------------
-------------- -- -
  -------------------- -------- ------- -----
---

查询数据

Sequelize 提供了各种查询数据的方法。比如,使用 findAll 方法可以获取数据库中全部记录:

使用 findOne 方法可以获取单条记录:

更新数据

通过 update 方法可以更新数据库中已有的记录:

删除数据

通过 destroy 方法可以删除数据库中已有的记录:

总结

本文介绍了如何使用 Sequelize 操作 PostgreSQL 数据库。通过定义 Model,可以方便地进行数据库的增删改查操作。Sequelize 还提供了多种查询数据的方法,方便用户进行数据库操作。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/65a7324eadd4f0e0ff025abe

纠错
反馈