import { IBaseTable, Icondition, IupdateConfig } from "./types"; /** * 数据操作 */ export declare class DML { private constructor(); private static id_point; private static id_prefix; private static id_leng; /** * 获取DATETIME/DATETIME(3)类型字段所需的时间数据 * 跟随系统时区 */ static opDateTime_system(t?: string | number | Date): string; /** * 获取DATETIME/DATETIME(3)类型字段所需的时间数据 * UTC时区 */ static opDateTime_UTC(t?: string | number | Date): string; /** * 生成固定长度的uid,默认19 * 可保证一次性插入亿级别的数量,不重复 */ static createUid(): string; /** * 生成可直接执行的批处理sql语句 */ static sql_insertBatchSQL(tableConfig: IBaseTable, dataArray: any[]): string | null; /** * 生成可用于批量添加数据所需的三维数组-建议一次最多100条数据 * @param tableConfig * @param dataArray 要新增的数据集 * @param injectFn 可在该函数中拦截并插入公共字段数据 */ static sql_insertBatchArr(tableConfig: IBaseTable, dataArray: Array, injectFn?: TinterceptFn, fieldIntercept?: TfieldInterceptFn): { sql: string; values: any[][][]; }; /** * 校验并补充将要插入的数据 */ static patch_data_v2(tb: IBaseTable | string, dataArray: any[], injectFn?: (d: TanyObj) => void, isSql?: boolean, fieldIntercept?: TfieldInterceptFn): { keys: string[]; datas: TanyObj[]; values: any[][]; valueSql: string; }; /** * 更新表数据-三维数组-建议一次最多100条数据 */ static sql_updateBatchArr(tb: string | IBaseTable, uDatas: IupdateConfig[], conditions?: Icondition[], fieldIntercept?: TfieldInterceptFn): { sql: string; values: any[]; }; /** * 生成可用于批量添加数据所需的三维数组 * - 宽松模式,不对类型/数据准确性做严格校验 * @param tname * @param datas 要新增的数据集 * @param injectFn 可在该函数中拦截并插入公共字段数据 */ static sql_insertBatchArr_loose(tname: string, datas: Array, injectFn?: TinterceptFn, fieldIntercept?: TfieldInterceptFn): { sql: string; values: any[][][]; }; /** * 清空数据表 * @param tName * @param isResetId 是否重置自增id */ static sql_clearTable(tName: string, isResetId?: boolean): string; /** * 删除表数据 */ static sql_delete(tb: string | IBaseTable, conditions: Icondition[], fieldIntercept?: TfieldInterceptFn): { sql: string; values: any[]; }; /** * 使用关联子表的数据,更新父表数据指定字段 * @param parentTable 父表名 * @param childTalbe 子表名 * @param parentFKey 父表唯一键(被子表关联的键) * @param childKey 子表的外键 * @param field 要更新的字段 */ static sql_updateFieldOnChild(parentTable: string, childTalbe: string, parentFKey: string, childKey: string, field: string): string; }