import { IBaseTable, ITableColumn } from "./types"; import { t_sql_data_types } from "./config"; /** * 数据定义,数据库操作 */ export declare class DDL { /** * 解析表列配置信息-不强制校验 */ private static parseColumnConfig_loose; /** * 解析表列配置信息 */ private static parseColumnConfig; /** * 查看所有数据库 */ static sql_lookDatabases(): string; /** * 使用/切换数据库 */ static sql_useDatabase(dbName: string): string; /** * 查看当前使用的数据库 */ static sql_lookCurrentDatabase(): string; /** * 删库语句 */ static sql_deleteDataBase(dbName: string): string; /** * 建库语句 */ static sql_createDataBase(dbName: string): string; /** * 更新数据库配置 */ static sql_updateDataBase(dbName: string, charset_name: string): string; /** * 查看建库语句/查看数据库字符集 */ static sql_lookDataBaseCreate(dbName: string): string; /** * 获取字段配置模板 */ static getKeyTemplate(keyName?: string, keyType?: t_sql_data_types, keySize?: number): { keyName: string; keyType: t_sql_data_types; keySize: number | undefined; defaultData: undefined; afterKey: undefined; isPrimary: number; isAuto: number; isUnsigned: number; isNotNull: number; isUnique: number; isCurrentTime: number; isAutoUpdateTime: number; comment: string; }; /** * 获取id字段通用配置 */ static getIdKeyTemplate(): { keyName: string; keyType: t_sql_data_types; keySize: number | undefined; defaultData: undefined; afterKey: undefined; isPrimary: number; isAuto: number; isUnsigned: number; isNotNull: number; isUnique: number; isCurrentTime: number; isAutoUpdateTime: number; comment: string; }; /** * 生成-建表语句 * 该方法生成的建表语句中会自动添加一些通用字段:自增id、创建时间create_time、更新时间update_time... * @param tableConfig * @param isSupp 是否添加通用字段(id,create_time,update_time...),默认true */ static sql_creatTable(tableConfig: IBaseTable, isSupp?: boolean): string; /** * 查看数据表配置详细信息 */ static sql_lookTableConfig(tname: string): string; /** * 删除表语句 */ static sql_deleteTable: (tname: string) => string; /** * 查看所有数据表 */ static sql_lookTables(): string; /** * 更新表名称 */ static sql_updateTable(tName: string, ntName: string): string; /** * 更新表注释 */ static sql_updateTableComment(tName: string, comment: string): string; /** * 新增表字段 */ static sql_addTableColumn(tName: string, columns: ITableColumn[]): string; /** * 表字段重命名 * @version mysql-v8.0+ */ static sql_renameTableColumn(tName: string, clName: string, newClName: string): string; /** * 重置表列字段-改列名、改列配置信息 */ static sql_resetTableColumn(tName: string, clName: string, newCl: ITableColumn): string; /** * 修改表列字段-改列配置信息 */ static sql_updateTableColumn(tName: string, clName: string, newCl: Partial>): string; /** * 删除表字段 */ static sql_deleteTableColumn(tName: string, clName: string): string; /** * 查看表中是否有指定字段 */ static sql_checkColumn(tName: string, clName: string): string; /** * 给指定的表添加外键 * @param tName 表名称 * @param fkey 指定表中的哪个字段作为外键,关联到外表中,必须是表中已经存在的字段 * @param ftName 父表名称 * @param ftKey 父表列字段 */ static sql_addForeignKey(tName: string, fkey: string, ftName: string, ftKey: string): string; /** * 删除表外键 * @param tName 表名 * @param fkName 表外键名称 */ static sql_deleteForeignKey(tName: string, fkName: string): string; /** * 查看建表语句 */ static sql_lookTableCreate(tName: string): string; /** * 查询表字段配置简洁信息 * - 不使用dbName,会查询所有数据库中的所有表 */ static sql_lookTableColumns(tName: string, dbName: string): { sql: string; datas: string[]; }; }