数据查询
Query Param DTS
查询条件配置类型描述
ts
export type CONDITION_TYPE = Record<string, VALUE_TYPE | ConditionOption>
/**
* 值类型
*/
export type VALUE_TYPE =
| string
| number
| Date
| boolean
| undefined
| null
| Array<any>
/**
* 查询条件配置项
*/
export interface ConditionOption {
/**
* 匹配值
*/
value?: VALUE_TYPE
/**
* 等式类型
*/
type?: CONDITION_EQUATION_TYPE
/**
* 是否为或语句
*/
or?: boolean
/**
* 表名或表别名
*/
t?: string
/**
* 子查询
*/
subquery?: QueryOption
}
/**
* 查询字段配置
*/
export interface FIELD_OPTION {
/**
* 字段名
*/
name: string
/**
* 字段别名
*/
alias?: string
/**
* 表名或表别名
*/
t?: string
}
/**
* 查询字段配置类型
*/
export type FIELDS_OPTION = string | FIELD_OPTION | Array<FIELD_OPTION | string>
/**
* 查询语句配置项
*/
export interface QueryOption {
/**
* 表信息
*/
t: TABLE_OPTION
/**
* 查询条件
*/
condition?: CONDITION_TYPE
/**
* 查询字段
*/
fields?: FIELDS_OPTION
/**
* 查询条目区间
*/
limit?: LIMIT_PARAM
/**
* 表连接查询配置信息
*/
join?: JOIN_PARAM_TYPE | JOIN_PARAM_TYPE[]
/**
* 排序
*/
orderBy?: OrderByOption
}
Example
ts
import emysql from '@dpapejs/emysql'
// 数据库实例化
const mysql = new emysql({
password: '[db登录密码]',
user: '[db登录用户名]',
database: '访问数据库名称'
})
// t_user 数据
const user = [
{ name: 'name1', age: 20 },
{ name: 'name2', age: 21 },
{ name: 'name3', age: 30 },
{ name: 'name4', age: 31 },
{ name: 'name5', age: 18 }
]
// 查询年龄大于等于20的用户
const result = await mysql.query({
t: 't_user',
fields: ['name'],
condition: { age: { value: 20, type: 'GREATER_THAN_OR_EQUAL' } }
})
// result:: [{ name: 'name1' },{ name: 'name2' },{ name: 'name3' },{ name: 'name4' }]