Node.js学习10~Sequelize基本sql学习

x33g5p2x  于2022-02-07 转载在 其他  
字(1.3k)|赞(0)|评价(0)|浏览(271)

Sequelize常用的select,delete,update,insert列表如下:

sqlorm
selectfindAll,findOne,findById,findOrCreate,findAndCountAll
deletedestroy
updateupdate
insertcreate

select举例:

sqlorm
SELECT foo, bar ...Model.findAll({attributes: ['foo', 'bar']});
SELECT foo, bar AS baz ...Model.findAll({attributes: ['foo', ['bar', 'baz']]});
SELECT COUNT(hats) AS no_hats ...Model.findAll({attributes: **sequelize.fn('COUNT', sequelize.col('hats'))**, 'no_hats'});
SELECT id, foo, bar, quz ...Model.findAll({attributes: {exclude: ['baz'] }});

where条件,这个是学习重点

| op | define |
| $and: {a: 5} | AND (a = 5) |
| $or: [{a: 5}, {a: 6}] | (a = 5 OR a = 6) |
| $gt: 6, | > 6 |
| $gte: 6, | >= 6 |
| $lt: 10, | < 10 |
| $lte: 10, | <= 10 |
| $ne: 20, | != 20 |
| $between: [6, 10], | BETWEEN 6 AND 10 |
| $notBetween: [11, 15], | NOT BETWEEN 11 AND 15 |
| $in: [1, 2], | IN [1, 2] |
| $notIn: [1, 2], | NOT IN [1, 2] |
| $like: '%hat', | LIKE '%hat' |
| $notLike: '%hat' | NOT LIKE '%hat' |
| $iLike: '%hat' | ILIKE '%hat' (case insensitive) (PG only) |
| $notILike: '%hat' | NOT ILIKE '%hat' (PG only) |
| $like: { $any: ['cat', 'hat']} | LIKE ANY ARRAY['cat', 'hat'] - also works for iLike and notLike |
| $overlap: [1, 2] | && [1, 2] (PG array overlap operator) |
| $contains: [1, 2] | @> [1, 2] (PG array contains operator) |
| $contained: [1, 2] | <@ [1, 2] (PG array contained by operator) |
| $any: [2,3] | ANY ARRAY[2, 3]::INTEGER (PG only) |
| $col: 'user.organization_id' | "user"."organization_id", with dialect specific column identifiers, PG in this example --$col取表的字段 |

相关文章