1.安装
- npm install --save sequelize
- npm install --save mysql2
2.Sequelize 中 Model 的数据类型对应MySQL中的数据类型
- Sequelize.STRING // VARCHAR(255) 类型:字符串 最大值: 65535个字符
- Sequelize.STRING(1234) // VARCHAR(1234) 类型:变长 最大值: 65535个字符
- Sequelize.TEXT // TEXT 类型:字符串 最大值:65535个字符
- Sequelize.TEXT('tiny') // TINYTEXT 类型:字符串 最大值:255个字符
- Sequelize.INTEGER // INTEGER 类型:整型 最大值:范围(-2147483648~2147483647)
- Sequelize.BIGINT // BIGINT 类型:整型 最大值:范围(+-9.22*10的18次方)
- Sequelize.BIGINT(11) // BIGINT(11) 类型:整型 最大值:范围(+-9.22*10的18次方)
- Sequelize.FLOAT // FLOAT 类型:单精度浮点型 8位精度(4字节)
- Sequelize.FLOAT(11) // FLOAT(11) 类型:单精度浮点型 8位精度(4字节)
- Sequelize.FLOAT(11, 12) // FLOAT(11,12) 类型:精度浮点型 8位精度(4字节) m总个数,d小数位
- Sequelize.DOUBLE // DOUBLE 类型:双精度浮点型 16位精度(8字节)
- Sequelize.DOUBLE(11) // DOUBLE(11) 类型:双精度浮点型 16位精度(8字节)
- Sequelize.DOUBLE(11, 12) // DOUBLE(11,12) 类型:双精度浮点型 16位精度(8字节) m总个数,d小数位
- Sequelize.DECIMAL // DECIMAL 类型:定点数型
- Sequelize.DECIMAL(10, 2) // DECIMAL(10,2) 类型:定点数型 参数m<65 是总个数,d<30且 d<m 是小数位
- Sequelize.DATE // DATETIME 类型:日期时间类型 范例:'2009-05-12 02:31:44'
- Sequelize.DATE(6) // DATETIME(6)
- Sequelize.DATEONLY // DATE without time.
- Sequelize.BOOLEAN // TINYINT(1) 类型:整型 范围(-128~127)
- Sequelize.ENUM('value 1', 'value 2') // ENUM 类型:枚举
- Sequelize.BLOB // BLOB 类型:二进制数据
- Sequelize.BLOB('tiny') // TINYBLOB 类型:二进制数据
3.打印结果
单条数据打印
- console.log(res.toJSON());
- console.log(res.get({ plain: true }));
列表打印
- console.log(JSON.stringify(res, null, 4));
- let res = await MyModel.findAll({ raw: true, nest:true })
- console.log(res)
或者查询参数中传入raw: true
然后可以直接用console.log(res)
4.过滤属性
- Model.findAll({
- attributes: ['foo', 'bar']
- })
5.条件过滤
- $eq(等于)
- $ne(不等于)
- $gt(大于)
- $gte(大于等于)
- $lt(小于)
- $lte(小于等于)
- $between(在某个范围内)
- $notBetween(不在某个范围内)
- $in(在某个集合中)
- $notIn(不在某个集合中)
- $like(和某个模式匹配)
- $notLike(和某个模式不匹配)
6.批量创建
- await Foo.bulkCreate([
- { name: 'abc123' },
- { name: 'name too long' }
- ]);
参考链接:
https://www.cnblogs.com/suiyueshentou/p/7592505.html
https://blog.csdn.net/zjw0742/article/details/76861013
https://itbilu.com/nodejs/npm/V1PExztfb.html
https://sequelize.org/