{ "说明": "DDL Parse API 返回格式 - 使用JSON数组,不使用表名作为key", "单表示例": { "描述": "即使只有一个表,也返回数组格式", "API响应": { "code": 200, "data": [ { "table_info": { "name_zh": "科室对照表", "name_en": "TB_JC_KSDZB" }, "columns": [ { "name_zh": "医疗机构代码", "name_en": "YLJGDM", "data_type": "VARCHAR(22)", "is_primary": "是", "comment": "医疗机构代码,复合主键", "nullable": "否" }, { "name_zh": "HIS科室代码", "name_en": "HISKSDM", "data_type": "CHAR(20)", "is_primary": "是", "comment": "HIS科室代码,主键、唯一", "nullable": "否" }, { "name_zh": "HIS科室名称", "name_en": "HISKSMC", "data_type": "CHAR(20)", "is_primary": "否", "comment": "HIS科室名称", "nullable": "否" }, { "name_zh": "病案科室代码", "name_en": "BAKSDM", "data_type": "CHAR(20)", "is_primary": "否", "comment": "病案科室代码,应与\"病案明细表\"里的科室ID对应", "nullable": "是" } ], "exist": false } ], "message": "操作成功" } }, "多表示例": { "描述": "多个表都放在数组中,不使用表名作为key", "API响应": { "code": 200, "data": [ { "table_info": { "name_zh": "科室对照表", "name_en": "TB_JC_KSDZB" }, "columns": [ { "name_zh": "医疗机构代码", "name_en": "YLJGDM", "data_type": "VARCHAR(22)", "is_primary": "是", "comment": "医疗机构代码", "nullable": "否" } ], "exist": false }, { "table_info": { "name_zh": "用户表", "name_en": "TB_USER" }, "columns": [ { "name_zh": "用户ID", "name_en": "USER_ID", "data_type": "INTEGER", "is_primary": "是", "comment": "用户唯一标识", "nullable": "否" }, { "name_zh": "用户名", "name_en": "USERNAME", "data_type": "VARCHAR(50)", "is_primary": "否", "comment": "用户登录名", "nullable": "否" } ], "exist": true }, { "table_info": { "name_zh": "部门表", "name_en": "TB_DEPARTMENT" }, "columns": [ { "name_zh": "部门ID", "name_en": "DEPT_ID", "data_type": "INTEGER", "is_primary": "是", "comment": "部门唯一标识", "nullable": "否" }, { "name_zh": "部门名称", "name_en": "DEPT_NAME", "data_type": "VARCHAR(100)", "is_primary": "否", "comment": "部门名称", "nullable": "否" } ], "exist": false } ], "message": "操作成功" } }, "格式特点": { "1. 数组结构": "使用JSON数组返回,即使只有一个表也是数组", "2. 不使用表名作为key": "所有表都是数组元素,不以表名为key", "3. 统一结构": "每个表都包含 table_info 和 columns", "4. exist字段": "由后端添加,表示该表在数据库中是否已存在", "5. 支持多表": "一次可以解析包含多个CREATE TABLE语句的SQL文件" }, "字段说明": { "table_info": "表的基本信息", "table_info.name_zh": "表的中文名称(从COMMENT ON TABLE提取)", "table_info.name_en": "表的英文名称(保持原始大小写)", "columns": "字段数组", "columns[].name_zh": "字段中文名称", "columns[].name_en": "字段英文名称", "columns[].data_type": "数据类型(含长度)", "columns[].is_primary": "是否主键(是/否)", "columns[].comment": "完整注释内容", "columns[].nullable": "是否可为空(是/否)", "exist": "表是否在数据库中已存在(由后端查询添加)" }, "前端使用示例": { "JavaScript": "const tables = response.data;\ntables.forEach(table => {\n console.log('表名:', table.table_info.name_zh);\n console.log('字段数:', table.columns.length);\n console.log('是否存在:', table.exist);\n});", "Python": "tables = response['data']\nfor table in tables:\n print(f\"表名: {table['table_info']['name_zh']}\")\n print(f\"字段数: {len(table['columns'])}\")\n print(f\"是否存在: {table['exist']}\")" } }