Sequelize 之数据表的建立及删除

阅读时长 4 分钟读完

在 Node.js 的开发过程中,使用 Sequelize 可以方便地操作数据库。在实际应用场景中,我们需要对数据进行操作,包括建立数据表和删除数据表。本文将介绍 Sequelize 中如何建立和删除数据表,详细且有深度和学习以及指导意义,并包含示例代码。

一、Sequelize 中建立数据表

  1. 安装 Sequelize

在开始建立数据表之前,需要安装 Sequelize 库。通过 npm 命令行安装,代码如下:

注:本文以 MySQL 数据库为例。

其中,sequelize-ts-cli 是根据 Sequelize-ts(TypeScript 风格 Sequelize 库)的文档生成的命令行工具,如果使用普通 Sequelize 库,可以使用 sequelize-cli。

  1. 定义表结构

在建立数据表前,需要先通过定义表结构的方式将 Model 先定义出来。每个 Model 对应着数据库中的一张表。以下是一个 User 的 model 示例:

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

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

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

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

上述代码中,User 继承于 Sequelize 的 Model,定义了表结构,包括列名、列类型、是否可为空、是否唯一、主键、自增等信息。其中,init 方法是 Model 类的一个静态方法,用于定义 Model(即表结构),第一个参数是表结构,第二个参数是选项对象,其中 sequelize 属性是必须的,它是 Sequelize 实例对象,表示连接到哪个数据库。

  1. 同步数据表

定义表结构后,需要通过 sync 方法同步到数据库。sync 方法有两个参数,第一个参数是 force,它表示强制同步,当 force 为 true 时,它会在同步前将数据表先删除(慎用),再重新创建(这样可能会破坏已经存在的数据),如果为 false 或不指定,则会从数据库中获取已存在的表结构,并与 Model 进行对比,发现差异时会自动更新,但不会改变现有的数据。第二个参数 alter 表示表结构改变时是否自动更新(即增、删、改列),这样就不需要手动删除并重新创建数据表了,但也需要注意慎用。

  1. 使用数据库

通过上述步骤,在 Sequelize 中已经建立了一张数据表(即 User 对应的表)并同步到了数据库中。之后就可以在 Node.js 中操作数据库了,比如添加、删除、更新数据等。

二、Sequelize 中删除数据表

在 Sequelize 中,如果需要删除数据表,可以使用 destroy 方法。但是,它只能用于删除数据表的记录,而不能删除整个数据表。要删除整个数据表,需要使用 drop 方法。

下面是一个删除 User 数据表的示例代码:

三、总结

Sequelize 是一款非常好用的 Node.js ORM 库,通过上述步骤,我们可以方便地建立和删除数据表。需要注意的是,drop 方法不仅会删除表结构,还会删除数据,因此在实际应用中要慎用。

除了建立和删除数据表,Sequelize 还有很多其它方便的功能,比如查询、排序、分页、事务、约束、关联查询等。学会了掌握 Sequelize,可以提高 Node.js 开发的效率,也可以更加灵活高效地操作数据库。

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

纠错
反馈