# 2.sequelize 中 Model 常用的数据类型对应 mysql 中的类型

Model 数据类型 mysql 数据类型 说明
Sequelize.STRING VARCHAR(255) 类型:字符串,最大值为 65535 个字符
Sequelize.STRING(100) VARCHAR(100) 类型:变长,最大值为 65535 个字符
Sequelize.TEXT TEXT 类型:字符串,最大值为 65535 个字符
Sequelize.TEXT('long') LONGTEXT 类型:字符串,最大值为 4,294,967,295 个字符
Sequelize.TEXT('tiny') TINYTEXT 类型:字符串,最大值为 255 个字符
Sequelize.INTEGER INTEGER 类型:整形,范围为 -2147483648~2147483647
Sequelize.BIGINT BIGINT 类型:整形,范围为 正负 9.22*10 的 18 次方
Sequelize.BIGINT(10) BIGINT(10) 类型:整形,范围为 正负 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 类型:日期时间类型
Sequelize.DATE(6) DATETIME(6) 类型:日期时间类型,针对 mysql5.6.4+,支持多达 6 位精度
Sequelize.ENUM('value 1','value 2') ENUM 类型:枚举
Sequelize.BOOLEAN TINYINT(1) 类型:整形,范围(-128~127)
Sequelize.BLOB BLOB 类型:二进制数据
Sequelize.BLOB('tiny') TINYBLOB 类型:二进制数据

# Sequelize 中常用查询条件

查询条件 说明
[Op.and]:{a:5} 且(a=5)
[Op.or]:[{a:5},{a:6}] (a=5 或 a=6)
[Op.gt]:5 id>5
[Op.gte]:5 id>=5
[Op.lt]:5 id<5
[Op.lte]:5 id<=5
[Op.ne]:5 id!==5
[Op.eq]:5 id===5
[Op.not]:true 不是 true
[Op.between]:[6,10] 在 6 和 10 之间
[Op.notBetween]:[6,10] 不在 6 和 10 之间
[Op.in]:[1,5] 在[1,5]之中
[Op.notIn]:[1,5] 不在[1,5]之中
[Op.like]:'%ow' 包含’%ow‘
[Op.notLike]:'%ow' 不包含’%ow‘
[Op.regexp]:'^\w' 匹配正则表达式,仅限 mysql/pg)
[Op.notRegexp]:'^\w' 不匹配正则表达式,仅限 mysql/pg)