随着 Web 应用程序的不断增加,数据库管理已成为 Web 开发领域中的一个重要主题。MySQL 作为最流行的关系型数据库管理系统之一,是众多 Web 应用程序中使用的首选数据库之一。本文将介绍如何使用 Sequelize 和 Node.js 连接 MySQL 数据库。
Sequelize 是什么?
Sequelize 是一个基于 Promise 的 Node.js ORM(对象关系映射)库,用于支持 PostgreSQL、MySQL、MariaDB、SQLite 和 Microsoft SQL Server 等 SQL 数据库。它允许您在 JavaScript 和数据库之间建立映射,使数据库操作更容易、更简单、更直观。Sequelize 的一些主要功能包括支持事务、校验、关系,以及对 MySQL、PostgreSQL 外键约束的支持。
安装 Sequelize 和 MySQL
在使用 Sequelize 之前,您需要先安装它,可以使用 npm 包管理器:
npm install --save sequelize
注:在安装 Sequelize 前,您需要先安装 MySQL。您可以通过 MySQL 官方网站下载并安装 MySQL。
安装完成后,您需要在项目中安装官方的 MySQL 驱动程序。
npm install --save mysql2
创建 Sequelize 实例
在使用 Sequelize 之前,您需要创建一个 Sequelize 实例对象,Sequelize 构造函数接受三个参数:数据库名称、用户名和密码。
const { Sequelize } = require('sequelize'); const sequelize = new Sequelize('database_name', 'user_name', 'password', { host: 'localhost', dialect: 'mysql', });
定义 Sequelize 模型
在 Sequelize 中,您使用模型来表示表格结构。每个模型定义了表格名称、列和关系。要定义一个 Sequelize 模型,您需要在 Sequelize 实例对象上调用 define 方法。
const User = sequelize.define('User', { firstName: { type: Sequelize.STRING, }, lastName: { type: Sequelize.STRING, }, });
在上面的示例中,我们定义了一个名为 User 的模型,具有两个属性:firstName 和 lastName。
同步模型
当您定义模型后,您需要同步模型到数据库中。在 Sequelize 中,您使用 sync 方法来将模型同步到数据库中。
sequelize.sync();
上面的代码将同步所有已定义的模型到数据库中。
查询数据
现在,我们已经连接到数据库并定义了模型。让我们看一下如何进行查询。
查询所有数据
要从表格中检索所有数据,您可以使用 findAll 方法。findAll 方法返回一个承诺对象,该对象解析为包含所请求数据的数组。
User.findAll().then((users) => { console.log(users); });
查询单个数据
要从表中检索单个数据,您可以使用 findOne 方法。在此示例中,我们将检索 firstName 为‘John’的用户。
User.findOne({ where: { firstName: 'John' } }).then((user) => { console.log(user); });
插入和更新数据
要在 Sequelize 中插入数据,您需要定义一个数据对象并使用 create 方法。Create 方法将插入新行并将结果返回到承诺对象。
User.create({ firstName: 'John', lastName: 'Doe' }).then((user) => { console.log(user.toJSON()); });
要更新行,请使用 update 方法。
User.update({ lastName: 'Changed' }, { where: { firstName: 'John' } }).then( (result) => { console.log(result); } );
update 方法接受两个参数:要更新的属性和条件,以确定要更新哪些行。
删除数据
要删除行,请使用 destroy 方法。
User.destroy({ where: { firstName: 'John' } }).then((result) => { console.log(result); });
错误处理
在使用 Sequelize 进行数据库操作时,可能会出现许多错误。默认情况下,如果出现错误,Sequelize 会抛出一个异常。如果要禁用异常,请将原始选项设置为 true,并将错误传递回回调函数。
User.create({ firstName: 'Error', lastName: 'Example' }, { raw: true }).then( (user) => { console.log(user); }, (error) => { console.log(error); } );
总结
在本文中,我们介绍了如何使用 Sequelize 和 Node.js 连接 MySQL 数据库。我们学习了如何定义 Sequelize 模型、同步模型、查询数据、插入和更新数据以及删除数据。我们还介绍了错误处理的方法。这些基本的 CRUD 操作对 Web 应用程序开发来说至关重要。本文的内容详细、有深度和学习以及指导意义,并包含示例代码,希望能够帮助您进一步掌握 Sequelize 和 Node.js 连接 MySQL 的技术。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64a4c0d448841e9894121f03