用 Sequelize 实现 CRUD 的详细指南

Sequelize 是一个 Node.js ORM 框架,它支持多种数据库,并且提供了非常方便的 API 使得开发人员可以方便地进行数据库操作。在本篇文章中,我们将会使用 Sequelize 实现 CRUD 操作。

安装 Sequelize

运行以下命令来安装 Sequelize:

npm install --save sequelize

安装 Sequelize 后,我们还需要安装相应数据库的驱动。Sequelize 支持多个数据库,我们这里以 MySQL 为例。

npm install --save mysql2

连接数据库

首先,我们需要建立一个 Sequelize 实例并连接到数据库。我们需要指定数据库的名称、用户名和密码,以及数据库的主机名和端口号。

const Sequelize = require('sequelize');
const sequelize = new Sequelize('database', 'username', 'password', {
  host: 'localhost',
  dialect: 'mysql'
});

定义模型

在 Sequelize 中,我们使用模型来定义表。一个模型对应一个数据库表,每个模型由多个属性组成。我们可以使用 sequelize.define 方法来定义模型。

const User = sequelize.define('user', {
  id: {
    type: Sequelize.INTEGER,
    autoIncrement: true,
    primaryKey: true
  },
  name: {
    type: Sequelize.STRING
  },
  email: {
    type: Sequelize.STRING
  }
});

在这个例子中,我们定义了一个名为 user 的模型,该模型有三个属性:idnameemail。其中,id 是一个自增的整数,作为主键。

创建表

当我们定义完模型后,我们可以通过调用 sequelize.sync() 方法来创建表。

sequelize.sync().then(() => {
  console.log('Table created!');
});

新增记录

我们可以通过调用 create 方法新增一条记录。

User.create({
  name: 'John',
  email: 'john@example.com'
}).then(user => {
  console.log(user.id);
});

查询记录

我们可以使用 findOne 方法查询单条记录。

User.findOne({ where: { name: 'John' } }).then(user => {
  console.log(user.email);
});

我们也可以使用 findAll 方法来查询多条记录。

User.findAll().then(users => {
  console.log(users.length);
});

更新记录

我们可以使用 update 方法来更新一条记录。

User.update({ email: 'new-email@example.com' }, { where: { name: 'John' } }).then(() => {
  console.log('Record updated!');
});

删除记录

我们可以使用 destroy 方法来删除一条记录。

User.destroy({ where: { name: 'John' } }).then(() => {
  console.log('Record deleted!');
});

总结

在这篇文章中,我们学习了使用 Sequelize 在 Node.js 中实现 CRUD 操作的指南。我们首先安装了 Sequelize 和 MySQL 驱动程序,然后使用 Sequelize 实例连接到数据库。接着,我们定义了一个模型来描述一个数据库表,并使用 sequelize.sync() 方法创建了表。最后,我们演示了如何使用 Sequelize 实现了创建、读取、更新和删除操作。

通过这些基本操作,我们可以更好地了解 Sequelize 的使用方式,为我们后续的开发工作打下坚实的基础。

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


纠错反馈