📅  最后修改于: 2023-12-03 14:47:24.511000             🧑  作者: Mango
Sequelize 是一个 Node.js ORM (Object-Relational Mapping) 库,用于处理 Node.js 应用程序中的 SQL 关系型数据库。
使用 npm 安装 Sequelize:
npm install sequelize
同时你可能也需要安装特定的数据库驱动程序(例如 MySQL 或 PostgreSQL):
npm install mysql2
# 或者
npm install pg pg-hstore
为了开始对数据库进行操作,我们需要先连接数据库。在 Sequelize 中,我们可以通过创建 sequelize 实例来连接到数据库。
const { Sequelize } = require('sequelize');
const sequelize = new Sequelize('database', 'username', 'password', {
host: 'localhost',
dialect: 'mysql'
});
Sequelize 的主要功能是将数据库表映射到 JavaScript 对象,即 Models
。我们可以通过定义一个 Model
来访问和操作相关的数据库表。
// 定义一个 User 模型
const User = sequelize.define('user', {
firstName: {
type: DataTypes.STRING,
allowNull: false
},
lastName: {
type: DataTypes.STRING
},
email: {
type: DataTypes.STRING,
}
});
// 同步数据库结构
await sequelize.sync();
通过 Sequelize,我们可以使用灵活的语法来查询数据。下面是一些常见的查询语句。
const users = await User.findAll();
const users = await User.findAll({
where: {
firstName: 'John'
}
});
const users = await User.findAll({
limit: 10, // 返回10条数据
offset: (page - 1) * 10 // 跳过(page-1)*10条数据
});
更多查询语句,请参考 Sequelize 文档。
const user = await User.findOne({ where: { email: 'john@example.com' } });
user.firstName = 'Jonathan';
await user.save();
await User.destroy({
where: {
email: 'john@example.com'
}
});
const { Sequelize, DataTypes } = require('sequelize');
const sequelize = new Sequelize('database', 'username', 'password', {
host: 'localhost',
dialect: 'mysql'
});
// 定义 User 模型
const User = sequelize.define('user', {
firstName: {
type: DataTypes.STRING,
allowNull: false
},
lastName: {
type: DataTypes.STRING
},
email: {
type: DataTypes.STRING,
}
});
// 同步数据库结构
await sequelize.sync();
// 创建一个用户
const user = await User.create({ firstName: 'John', lastName: 'Doe', email: 'john@example.com' });
// 查询所有用户
const users = await User.findAll();
// 更新用户
user.firstName = 'Jonathan';
await user.save();
// 删除用户
await User.destroy({ where: { email: 'john@example.com' } });
以上就是 Sequelize 的基本用法,希望对你有所帮助。如果你想要进一步学习 Sequelize,可以参考 官方文档。