在 Web 开发过程中,数据的存储和管理是必不可少的一环。MySQL 数据库作为关系型数据库的一员,在 Web 开发中得到广泛的应用。而 Sequelize 是一个基于 Promise 异步操作的 Node.js ORM 框架,它支持 MySQL 等多种数据库,并提供了很多易于使用的 API。
本教程将介绍如何在 Node.js 中使用 Sequelize 操作 MySQL 数据库,并以具体的示例代码来说明这个过程。
安装
首先,需要在本地安装 Node.js 和 MySQL 这两个工具。
其次,使用 npm 库来安装 Sequelize 开发依赖:
npm install sequelize mysql2
安装成功后,就可以开始使用 Sequelize 操作 MySQL 数据库了。
连接 MySQL 数据库
在使用 Sequelize 连接 MySQL 数据库之前,首先需要在本地创建一个 MySQL 数据库。然后,在项目中创建一个 db.js
文件,并添加以下代码:
const Sequelize = require('sequelize'); const sequelize = new Sequelize('database', 'username', 'password', { host: 'localhost', dialect: 'mysql', }); module.exports = sequelize;
在这个文件中,我们通过 sequelize
对象来连接 MySQL 数据库,其中 'database'
、'username'
和 'password'
是自己的数据库名称、用户名和密码。
创建 Model
在 Sequelize 中,Model 是一个 JavaScript 对象,它描述了要在数据库中创建的表格的结构。
下面是一个示例的 Model:
-- -------------------- ---- ------- ----- --------- - --------------------- ----- -- - ---------------- ----- ---- - ----------------- - --- - ----- ------------------ ----------- ----- -------------- ----- -- ----- - ----- ----------------- ---------- ------ -- ---- - ----- ------------------ ---------- ------ -- -- - ----------- ------ --- -------------- - -----展开代码
其中,define()
方法来创建一个 Model,'user'
是表格的名称,id
、name
和 age
是表格中的字段,其中 id
是主键,自增长。
CRUD 操作
Sequelize 提供了丰富的 API 来实现 CRUD 操作。
创建
User.create({ name: 'Lucy', age: 18, }).then(user => { console.log(user.toJSON()); });
在这个例子中,我们创建了一个 User
对象,并指定了 name
和 age
的值。create()
方法将这个对象保存到数据库中,并返回新创建的对象。最后通过 toJSON()
方法将查询到的数据转换成 JSON 格式,并打印到控制台中。
查询
User.findOne({ where: { name: 'Lucy' } }).then(user => { console.log(user.toJSON()); });
这个例子演示了如何查询表格中的数据。在这里,我们使用 findOne()
方法来查询 User
表格中的数据。其中,where
参数指定了查询的条件,这里查询 name
等于 'Lucy'
的记录。方法返回一个 promise 对象,最后使用 toJSON()
方法将查询到的结果转换成 JSON 格式,并将结果打印到控制台中。
更新
User.update({ age: 20 }, { where: { name: 'Lucy' } }).then(rows => { console.log(rows); });
在这个例子中,我们使用 update()
方法来更新表格中的数据。其中,第一个参数是要更新的数据,第二个参数是查询的条件。方法返回一个 promise 对象,最后将更新的结果打印到控制台中。
删除
User.destroy({ where: { name: 'Lucy' } }).then(() => { console.log('delete successfully'); });
这个例子演示了如何删除表格中的数据。我们使用 destroy()
方法来删除 User
表格中满足条件的数据。方法返回一个 promise 对象,最后将删除的结果打印到控制台中。
结语
以上就是使用 Sequelize 操作 MySQL 数据库的教程和示例代码。通过这个教程,我们可以学习到如何在 Node.js 中使用 Sequelize 从数据库中获取数据,并进行增删改查操作。Sequelize 框架简单易学,功能强大,而且支持多种数据库,是 Node.js 开发中必不可少的工具之一。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/67cd0b92e46428fe9e65e3e5