介绍
Sequelize 是一款基于 Node.js 的 ORM 框架,支持多种数据库,包括 MySQL,PostgreSQL,SQLite 和 Microsoft SQL Server 等。它提供了强大的查询语言、事务和关系映射等功能,使得开发者可以更加方便地操作数据库。
在本篇文章中,我们将以 MySQL 数据库为例,介绍如何使用 Sequelize 构建数据库,包括创建表、插入数据、查询数据等操作。本文旨在帮助初学者快速上手 Sequelize 并了解其基本用法。
环境
在开始之前,我们需要先安装 Node.js 和 MySQL 数据库,并创建一个数据库。
安装
首先,我们需要安装 Sequelize。在命令行中输入以下命令:
npm install --save sequelize mysql2
其中,mysql2
是 Sequelize 的 MySQL 驱动程序。
连接数据库
在使用 Sequelize 操作数据库之前,我们需要先创建一个 Sequelize 实例,并连接到数据库。在 index.js
中输入以下代码:
-- -------------------- ---- ------- ----- --------- - --------------------- ----- --------- - --- -------------------------- ----------- ----------- - ----- ------------ -------- -------- --- --------- --------------- -------- -- - ----------------------- --- ---- ----------- ---------------- -- -------------- -- - --------------------- -- ------- -- --- ----------- ------- ---
其中,database_name
是你的数据库名称,username
和 password
是你的数据库用户名和密码。host
是数据库所在的主机地址,dialect
是数据库类型。
当连接成功时,会输出 Connection has been established successfully.
,否则会输出错误信息。
创建表
在 Sequelize 中,我们可以通过定义模型来创建表。在 models/user.js
中输入以下代码:
-- -------------------- ---- ------- ----- - --------- - - --------------------- ----- --------- - ----------------------- ----- ---- - ------------------------ - --- - ----- ------------------ -------------- ----- ----------- ----- -- ----- - ----- ----------------- ---------- ------ -- ---- - ----- ------------------ ---------- ------ -- --- ------------
在上述代码中,我们定义了一个 User
模型,包含 id
、name
和 age
三个属性。其中,id
是自增长的整数类型,name
是字符串类型,age
是整数类型。allowNull
表示该属性是否允许为空。
User.sync()
方法会根据模型定义创建表。当表已经存在时,它会自动检查模型定义是否有变化,如果有变化会自动更新表结构。
插入数据
在 Sequelize 中,我们可以通过模型的 create
方法来插入数据。在 index.js
中输入以下代码:
const User = require('./models/user'); User.create({ name: '张三', age: 18, }).then((user) => { console.log(`Created user with id ${user.id}`); });
create
方法会返回一个 Promise,当插入成功时,会返回插入的数据对象。
查询数据
在 Sequelize 中,我们可以通过模型的 findAll
方法来查询数据。在 index.js
中输入以下代码:
const User = require('./models/user'); User.findAll().then((users) => { console.log(`Found ${users.length} users`); users.forEach((user) => { console.log(user.id, user.name, user.age); }); });
findAll
方法会返回一个 Promise,当查询成功时,会返回查询结果的数组。
更新数据
在 Sequelize 中,我们可以通过模型的 update
方法来更新数据。在 index.js
中输入以下代码:
const User = require('./models/user'); User.update({ age: 19 }, { where: { name: '张三' } }).then(([count]) => { console.log(`Updated ${count} users`); });
update
方法会返回一个 Promise,当更新成功时,会返回更新的行数。
删除数据
在 Sequelize 中,我们可以通过模型的 destroy
方法来删除数据。在 index.js
中输入以下代码:
const User = require('./models/user'); User.destroy({ where: { name: '张三' } }).then((count) => { console.log(`Deleted ${count} users`); });
destroy
方法会返回一个 Promise,当删除成功时,会返回删除的行数。
总结
在本篇文章中,我们介绍了 Sequelize 的基本用法,包括连接数据库、创建表、插入数据、查询数据、更新数据和删除数据等操作。希望本文能够帮助初学者快速上手 Sequelize 并了解其基本用法。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/650abf6f95b1f8cacd51a9c1