Skip to content

查询数据


Db()

可以通过 Db() 去指定表和数据源,接收两个参数。

注意:
  • select() findOne() count() 这种执行查询动作的要放到链路的末尾。
  • insert() insertAll() update() decr() incr() delete() 这种增删改动作的也要放到链路的末尾。
  • 以上这些动作均可以通过传入参数来控制是否打印当前的SQL语句到控制台,例如:findOne(true), 具体怎么传请看对应的文档说明
  • 增删改查等均为 Promise 在使用时请注意 async await
  • @param tableName 表名
  • @param config 数据源,传入一个对象
const mysqlConfig = {
    host: '123.56.82.75',
    port: 3306,
    user: 'think-sso',
    password: 'dcGLEpj5JZReztBw',
    database: 'think-sso'
}
const mysqlConfig = {
    host: '123.56.82.75',
    port: 3306,
    user: 'think-sso',
    password: 'dcGLEpj5JZReztBw',
    database: 'think-sso'
}

查询一条数据 findOne()

(isShowSql: boolean = false)

import { Db } from 'think-ts-db'
export default defineEventHandler(async (event) => {
    const user = await Db('user', mysqlConfig).where('age', '>', 10).findOne()
    return user
})
import { Db } from 'think-ts-db'
export default defineEventHandler(async (event) => {
    const user = await Db('user', mysqlConfig).where('age', '>', 10).findOne()
    return user
})

最终生成的SQL语句为:

SELECT * FROM user WHERE age > 10 LIMIT 1
SELECT * FROM user WHERE age > 10 LIMIT 1

查询数据集 select()

(isShowSql: boolean = false)

import { Db } from 'think-ts-db'
export default defineEventHandler(async (event) => {
    const user = await Db('user', mysqlConfig).where('age', 10).select()
    return user
})
import { Db } from 'think-ts-db'
export default defineEventHandler(async (event) => {
    const user = await Db('user', mysqlConfig).where('age', 10).select()
    return user
})

最终生成的SQL语句为:

SELECT * FROM user WHERE age = 10
SELECT * FROM user WHERE age = 10

多数据源查询

Db('user', mysqlConfig1).where('age', '>', 10).findOne()
Db('user', mysqlConfig2).where('age', '>', 10).findOne()
Db('user', mysqlConfig1).where('age', '>', 10).findOne()
Db('user', mysqlConfig2).where('age', '>', 10).findOne()

备案号:冀ICP备20015584号-2