sequelize实现对mysql数据库的操作
时间: 2023-09-15 14:16:48 浏览: 192
基于Mysql的Sequence实现方法
Sequelize是一个Node.js ORM(Object-Relational Mapping)库,可以用于操作多种关系型数据库,包括MySQL。下面是使用Sequelize实现对MySQL数据库的操作的步骤:
1. 安装Sequelize和MySQL驱动程序:
```
npm install sequelize mysql2
```
2. 创建Sequelize实例:
```
const Sequelize = require('sequelize');
const sequelize = new Sequelize('database', 'username', 'password', {
host: 'localhost',
dialect: 'mysql'
});
```
其中,'database'是数据库名称,'username'和'password'是MySQL登录用户名和密码,'localhost'是MySQL数据库服务器地址,'mysql'是数据库类型。
3. 定义模型:
```
const { Model, DataTypes } = require('sequelize');
class User extends Model {}
User.init({
// 在这里定义模型属性
firstName: {
type: DataTypes.STRING,
allowNull: false
},
lastName: {
type: DataTypes.STRING
// allowNull 默认为 true
}
}, {
sequelize,
modelName: 'user'
// 参数
});
```
其中,User是模型名称,'user'是表名,这里定义了两个属性:firstName和lastName,都是字符串类型,firstName不能为空。还可以定义其它属性,如主键、自增、唯一等。
4. 同步模型:
```
await sequelize.sync();
```
可以使用sync方法同步模型到数据库中,也可以使用force参数强制重新创建表。
5. 创建数据:
```
const jane = await User.create({ firstName: "Jane", lastName: "Doe" });
console.log(jane.toJSON());
```
使用create方法创建一条数据,返回的是一个Promise对象,可以使用toJSON方法将数据转换为JSON格式。
6. 查询数据:
```
const users = await User.findAll();
console.log(users.map(u => u.toJSON()));
```
使用findAll方法查询所有数据,返回的是一个Promise对象,可以使用map方法将数据转换为JSON格式。
7. 更新数据:
```
await jane.update({ firstName: "Janet" });
```
使用update方法更新数据,返回的是一个Promise对象。
8. 删除数据:
```
await jane.destroy();
```
使用destroy方法删除数据,返回的是一个Promise对象。
以上就是使用Sequelize实现对MySQL数据库的操作的基本步骤。
阅读全文