Sequelize 是一个 Node.js 的 ORM 框架,它提供了对关系型数据库的支持,并提供了一系列的 API 来进行 CRUD(增删改查)操作。本文将介绍如何使用 Sequelize 进行 CRUD 操作。
创建
首先,我们需要创建一个 Sequelize 实例,来连接数据库。在创建实例时,需要传入数据库的相关信息,如数据库名、用户名、密码等。
const Sequelize = require('sequelize'); const sequelize = new Sequelize('database', 'username', 'password', { host: 'localhost', dialect: 'mysql', logging: false });
接着,我们需要定义一个模型(Model),来映射数据库中的表。在 Sequelize 中,模型是通过调用 sequelize.define
方法来定义的。下面是一个简单的例子:
const User = sequelize.define('user', { name: { type: Sequelize.STRING }, age: { type: Sequelize.INTEGER } });
在上面的例子中,我们定义了一个名为 user
的模型,它有两个属性:name
和 age
。type
属性指定了属性的类型,这里分别为字符串和整数。
接下来,我们可以使用 create
方法来创建一条记录:
User.create({ name: 'Alice', age: 18 }).then(user => { console.log(user.toJSON()); });
在上面的代码中,我们创建了一个名为 Alice
,年龄为 18 的用户,并将其保存到数据库中。create
方法返回一个 Promise,它的值是创建的记录。我们可以调用 toJSON
方法将其转换为 JSON 格式并输出到控制台上。
读取
在 Sequelize 中,读取操作有很多种方式。这里我们介绍两种常用的方式:findOne
和 findAll
。
findOne
方法用于查询一条记录。下面是一个例子:
User.findOne({ where: { name: 'Alice' } }).then(user => { console.log(user.toJSON()); });
在上面的代码中,我们查询了名为 Alice
的用户,并将其输出到控制台上。
findAll
方法用于查询多条记录。下面是一个例子:
-- -------------------- ---- ------- -------------- ------ - ---- - ------------------ -- - - ------------- -- - -------------------------- -- ---------------- ---展开代码
在上面的代码中,我们查询了年龄大于 20 的所有用户,并将其输出到控制台上。
更新
更新操作也有多种方式。这里我们介绍两种常用的方式:update
和 save
。
update
方法用于更新多条记录。下面是一个例子:
-- -------------------- ---- ------- ------------- ---- -- -- - ------ - ----- ------- - -------------- -- - -------------------- ---展开代码
在上面的代码中,我们将名为 Alice
的用户的年龄更新为 20。update
方法返回一个 Promise,它的值是更新的记录数。
save
方法用于更新一条记录。下面是一个例子:
-- -------------------- ---- ------- -------------- ------ - ----- ------- - ------------ -- - -------- - --- ------ ------------ ------------ -- - --------------------------- ---展开代码
在上面的代码中,我们查询了名为 Alice
的用户,并将其年龄更新为 21。save
方法返回一个 Promise,它的值是更新后的记录。
删除
删除操作也有多种方式。这里我们介绍两种常用的方式:destroy
和 truncate
。
destroy
方法用于删除多条记录。下面是一个例子:
-- -------------------- ---- ------- -------------- ------ - ---- - ------------------ -- - - -------------- -- - -------------------- ---展开代码
在上面的代码中,我们删除了年龄小于 20 的所有用户。destroy
方法返回一个 Promise,它的值是删除的记录数。
truncate
方法用于删除整个表。下面是一个例子:
User.truncate().then(() => { console.log('Table truncated'); });
在上面的代码中,我们删除了整个 user
表。truncate
方法返回一个 Promise,它的值为 undefined
。
结语
本文介绍了 Sequelize 的 CRUD 操作,包括创建、读取、更新、删除。这些操作是我们在开发中经常会用到的,希望本文能对读者有所帮助。完整的示例代码可以在 GitHub 上找到。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6783a3d09137010942c354ce