查询数据
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 1
SELECT * 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 = 10
SELECT * 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()