1.安装

  1. npm install --save sequelize
  2. npm install --save mysql2

2.Sequelize 中 Model 的数据类型对应MySQL中的数据类型

  1. Sequelize.STRING // VARCHAR(255) 类型:字符串 最大值: 65535个字符
  2. Sequelize.STRING(1234) // VARCHAR(1234) 类型:变长 最大值: 65535个字符
  3. Sequelize.TEXT // TEXT 类型:字符串 最大值:65535个字符
  4. Sequelize.TEXT('tiny') // TINYTEXT 类型:字符串 最大值:255个字符
  5.  
  6. Sequelize.INTEGER // INTEGER 类型:整型 最大值:范围(-2147483648~2147483647)
  7. Sequelize.BIGINT // BIGINT 类型:整型 最大值:范围(+-9.22*10的18次方)
  8. Sequelize.BIGINT(11) // BIGINT(11) 类型:整型 最大值:范围(+-9.22*10的18次方)
  9.  
  10. Sequelize.FLOAT // FLOAT 类型:单精度浮点型 8位精度(4字节)
  11. Sequelize.FLOAT(11) // FLOAT(11) 类型:单精度浮点型 8位精度(4字节)
  12. Sequelize.FLOAT(11, 12) // FLOAT(11,12) 类型:精度浮点型 8位精度(4字节) m总个数,d小数位
  13.  
  14.  
  15. Sequelize.DOUBLE // DOUBLE 类型:双精度浮点型 16位精度(8字节)
  16. Sequelize.DOUBLE(11) // DOUBLE(11) 类型:双精度浮点型 16位精度(8字节)
  17. Sequelize.DOUBLE(11, 12) // DOUBLE(11,12) 类型:双精度浮点型 16位精度(8字节) m总个数,d小数位
  18.  
  19. Sequelize.DECIMAL // DECIMAL 类型:定点数型
  20. Sequelize.DECIMAL(10, 2) // DECIMAL(10,2) 类型:定点数型 参数m<65 是总个数,d<30且 d<m 是小数位
  21.  
  22. Sequelize.DATE // DATETIME 类型:日期时间类型 范例:'2009-05-12 02:31:44'
  23. Sequelize.DATE(6) // DATETIME(6)
  24. Sequelize.DATEONLY // DATE without time.
  25. Sequelize.BOOLEAN // TINYINT(1) 类型:整型 范围(-128~127)
  26.  
  27. Sequelize.ENUM('value 1', 'value 2') // ENUM 类型:枚举
  28.  
  29. Sequelize.BLOB // BLOB 类型:二进制数据
  30. Sequelize.BLOB('tiny') // TINYBLOB 类型:二进制数据

3.打印结果
单条数据打印

  1. console.log(res.toJSON());
  2. console.log(res.get({ plain: true }));

列表打印

  1. console.log(JSON.stringify(res, null, 4));
  2.  
  3. let res = await MyModel.findAll({ raw: true, nest:true })
  4. console.log(res)

或者查询参数中传入raw: true然后可以直接用console.log(res)

4.过滤属性

  1. Model.findAll({
  2. attributes: ['foo', 'bar']
  3. })

5.条件过滤

  1. $eq(等于)
  2. $ne(不等于)
  3. $gt(大于)
  4. $gte(大于等于)
  5. $lt(小于)
  6. $lte(小于等于)
  7. $between(在某个范围内)
  8. $notBetween(不在某个范围内)
  9. $in(在某个集合中)
  10. $notIn(不在某个集合中)
  11. $like(和某个模式匹配)
  12. $notLike(和某个模式不匹配)

6.批量创建

  1. await Foo.bulkCreate([
  2. { name: 'abc123' },
  3. { name: 'name too long' }
  4. ]);

参考链接:
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/

作者 铁血 汉子 2019年11月29日
2025/06/21/12:07:21pm 2019/11/29/1:37:22
0 4370