查询数据
Db()
可以通过 Db() 去指定表和数据源,接收两个参数。
注意:
select()finOne()count()这种执行查询动作的要放到链路的末尾。insert()insertAll()update()decr()incr()delete()这种增删改动作的也要放到链路的末尾。- 以上这些动作均可以通过传入参数来控制是否打印当前的SQL语句到控制台,注意文档中标注的参数
- 还可以在
config/app.ts中设置sqlDebug全局开启打印,这时自定义开启的将失效 - 增删改查等均为
Promise在使用时请注意async await
- @param
tableName表名 - @param
db数据源, 不指定默认会取第一个数据源
查询一条数据 findOne()
(isShowSql: boolean = false)
Db('user').where('age', '>', 10).findOne()Db('user').where('age', '>', 10).findOne()最终生成的SQL语句为:
SELECT * FROM user WHERE age > 10 LIMIT 1SELECT * FROM user WHERE age > 10 LIMIT 1查询数据集 select()
(isShowSql: boolean = false)
Db('user').where('age', 10).select()Db('user').where('age', 10).select()最终生成的SQL语句为:
SELECT * FROM user WHERE age = 10SELECT * FROM user WHERE age = 10多数据源查询
Db('user', 'db').where('age', '>', 10).findOne()
Db('user', 'db2').where('age', '>', 10).findOne()Db('user', 'db').where('age', '>', 10).findOne()
Db('user', 'db2').where('age', '>', 10).findOne()