介绍
Sequelize 是一种 Node.js 的 ORM(Object-Relational Mapping) 框架,可以轻松地在未使用 SQL 语句的情况下与代码中的数据库进行交互。Sequelize 支持 PostgreSQL、MySQL、MariaDB、SQLite 和 MSSQL 等数据库系统。
安装
安装 Sequelize, 在项目目录中使用以下命令:
npm install --save sequelize
Sequelize 还依赖于某些数据库特定的驱动程序。例如:
pg
(PostgreSQL)mysql2
(MySQL)sqlite3
(SQLite)tedious
(Microsoft SQL Server)
配置
下面的代码展示了配置 Sequelize 模块和连接到 MySQL 数据库时的设置。由于我们将在 MySQL 数据库上使用 Sequelize,我们需要一个 MySQL 数据库实例。首先,您需要安装 MySQL,然后创建一个数据库。
const Sequelize = require('sequelize'); const sequelize = new Sequelize('database', 'username', 'password', { host: 'localhost', dialect: 'mysql', });
这里我创建了一个名为 database
的数据库,数据库的用户名和密码是 username
和 password
。如果你不需要在本地主机上运行数据库,则应将 host
参数更改为远程主机的 IP 地址。
连接数据库
创建 Sequelize 实例后,下一步是连接到数据库。我们可以使用 Promise 风格的 authenticate()
方法,它返回数据库的连接。
sequelize.authenticate() .then(() => { console.log('Connection has been established successfully.'); }) .catch((err) => { console.error('Unable to connect to the database:', err); });
创建模型
Sequelize 通过模型来管理数据库中的数据。每个模型都对应于一个表。下面是一个简单的模型和它所代表的表:
-- -------------------- ---- ------- ----- - --------- - - --------------------- ----- ---- - ------------------------ - -- ----- ---------- --- ------- ---- ---------- - ----- ----------------- ---------- ----- -- --------- - ----- ---------------- -- --------- -------- -- ---- -- ---- - ----- ------------------ ---------- ----- -- ------ - ----- ----------------- ------- ---- - -- - -- ----- ----- ------- -- ---- ---
这添加了一个模型 User
。它对应一个包含 firstName
、lastName
、age
和 email
列的表。
查询数据
在 Sequelize 中,我们可以使用不同的方法来查询数据库。例如,下面是通过模型来查找所有用户的例子:
const users = await User.findAll(); console.log(users);
这将返回一个包含数据库中所有用户的数组。
更新数据
为了更新一个用户的信息,我们可以使用 Sequelize 提供的 update
方法和 save
方法。
const user = await User.findOne({ where: { id: 1 } }); user.firstName = 'New first name'; await user.save();
在这里,首先我们检索了 id
为 1 的用户,然后更新了它的 firstName
属性,最后将其保存回数据库。
删除数据
要删除数据库中的数据,我们可以使用 destroy
方法。
const user = await User.findOne({ where: { id: 1 } }); await user.destroy();
这将从数据库中删除 id
为 1 的用户。
结论
在本文中,我们介绍了一些 Sequelize 的基础知识,包括安装、配置、连接、创建模型、查询、更新和删除数据。Sequelize 提供了非常方便和易用的 API 来连接和操作数据库。它可以帮助开发者更轻松地操作数据库,可以用于 Node.js 和浏览器端的客户端应用程序,是 Node.js 开发者必备的一项技能。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/66f8f8f7c5c563ced5c3daa8