Sequelize 实现数据的 CRUD 操作

简介

Sequelize 是一个基于 Node.js 的 ORM(Object-Relational Mapping)框架,支持多种数据库,包括 MySQL、PostgreSQL、SQLite 和 MSSQL 等。它提供了一种简洁的方式来进行数据库操作,包括数据的增删改查等常见操作,同时也支持事务操作、关联查询等高级功能。

安装

使用 npm 进行安装:

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

同时,需要安装对应的数据库驱动,例如 MySQL:

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

连接数据库

在使用 Sequelize 进行数据库操作之前,需要先建立数据库连接。可以通过以下方式进行连接:

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

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

其中,databaseusernamepassword 分别对应数据库名称、用户名和密码。host 是数据库服务器地址,dialect 是数据库类型,在这里我们使用了 MySQL。pool 指定了数据库连接池的一些参数,包括最大连接数、最小连接数和空闲连接的超时时间等。

定义模型

在使用 Sequelize 进行数据操作之前,需要先定义模型,即数据表对应的数据结构。

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

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

上述代码定义了一个名为 User 的模型,包含了 nameage 两个字段,分别对应字符串类型和整数类型。allowNull 表示该字段是否允许为空。

插入数据

使用 create 方法可以向数据表中插入数据:

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

上述代码向 User 表中插入了一条数据,包含了 nameage 两个字段。create 方法返回一个 Promise,其中的参数 user 是插入成功后的数据对象。

查询数据

使用 findAll 方法可以查询数据表中的所有数据:

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

上述代码查询了 User 表中的所有数据,并将查询结果打印到控制台上。

使用 findOne 方法可以查询数据表中符合条件的一条数据:

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

上述代码查询了 User 表中 name 字段为 'John' 的一条数据,并将查询结果打印到控制台上。

更新数据

使用 update 方法可以更新数据表中符合条件的数据:

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

上述代码将 User 表中 name 字段为 'John' 的数据的 age 字段更新为 31

删除数据

使用 destroy 方法可以删除数据表中符合条件的数据:

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

上述代码删除了 User 表中 name 字段为 'John' 的数据。

总结

Sequelize 提供了一种简单、方便的方式来进行数据库操作,包括数据的增删改查等常见操作。通过定义模型,可以更加清晰地描述数据表的结构,提高代码的可读性和可维护性。同时,Sequelize 还支持事务操作、关联查询等高级功能,可以满足更加复杂的业务需求。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/6625c86ac9431a720c21a172