Skip to Content
数据处理数据导入与导出

数据导入与导出

功能概述

Zion 数据库提供高效的数据导入与导出功能,支持将外部数据批量导入数据库,或将数据库中的数据导出为标准格式文件,便于数据迁移与备份。

🚀

Zion 数据库支持导入高达 1000 万行左右的数据,导入速度可达每分钟 10 万行。

数据导入流程

准备数据文件

表格文件要求:

  • UTF-8 编码的 Excel 文件(仅支持 xlsx 格式)或 CSV 文件
  • 第一行为表头
  • 空白单元格不得包含数据或空格
  • 至少包含一条数据记录

可在上传文件界面左下角下载模板表格。

excel_sample

如需导入图片、视频、文件,需额外准备一个 zip 压缩包:

  • 在本地新建 imagevideofile 三个文件夹,分别存放图片、视频和其他文件
  • 直接将上述三个文件夹压缩为 zip 文件(请勿将其放入其他文件夹后再压缩)
  • 在 CSV 或 Excel 文件中,多媒体列的值需填写为“文件夹名/文件名”,如:image/cover0.png、file/api.pdf、video/intro.mp4

database

上传文件

在 Zion 数据库左下角点击“导入”按钮,进入数据上传界面,上传准备好的表格和多媒体文件(可选)。表格可上传多个(支持 CSV 和 Excel 混合),多媒体 zip 文件仅限一个。

database

upload_file

选择导入类型

选择“新增”或“更新”。“新增”指将数据直接插入数据库,“更新”则根据主键(id)更新已有记录。

配置映射

映射分为:

  • 表映射: 指将上传的表格与数据库表进行对应,其中系统表(帐户表、支付表等)不支持导入。Excel 文件的每个工作簿(Sheet)对应一个表,每个 CSV 文件对应一个表。

  • 字段映射: 指将上传的表格的列与数据库表字段进行对应,不需要导入的列可以打开每一行最右边的“忽略”选项。

mapping

关联字段映射

如果其他表和本表建立了关联,则需要配置关联表映射。其原理是:建立关联后,当前表会保存关联表的 ID。因此,导入时需通过表格中的某列和关联表中的某个字段(如用户名、邮箱等)进行匹配,查找对应的唯一的 ID。

例如,“帐户表”与“博客表”存在一对多关联,“博客表”的“作者”列用于存储“帐户表”的 ID。导入时可通过 Excel 表格中的作者姓名,在“帐户表”中查找匹配的“用户名”,获取对应 ID。

为避免因关联字段重复而导致 ID 查找失败(帐户表中如果存在多个用户名为“Arche”的数据,就不知道用哪条数据的 ID 了),需要保证“帐户表”中为“用户名”不能重复,因此需要给”用户名“配置唯一约束。

unique_constraint

配置唯一约束后,在进行关联表映射时,将 Excel 表格中的“作者”列映射到账户表的“用户名”字段。如果约束中包含多个字段,则需要配置多个字段的匹配。

relation_mapping

relation_mapping

多媒体字段映射

如需导入多媒体文件(图片、视频和文件),在导入的表格中对应列的值需要填写为“文件夹名/文件名”,如“image/cover0.png”、“video/intro.mp4”、“file/api.pdf”。

在导入时,系统会自动将这些文件从上传的 zip 包中提取出来,并存储到数据库中。

经纬度字段映射

如需导入经纬度,需要先选择坐标类型(WGS84坐标系、国测局坐标系、百度坐标),再分别配置经度和纬度的映射。因此在导入的表格中,需要有两列分别存储纬度和经度。

geo_mapping

数据冲突处理

当导入模式为“新增”且数据字段存在唯一约束时,若导入的数据中出现重复值,便会发生数据冲突。为应对此类情况,系统提供了冲突数据处理方式:

首先,选择约束:

  • 任意唯一约束:只要任意一个设置了唯一约束的字段发生冲突,即触发冲突处理。

  • 特定唯一约束:选择某个具体的唯一约束作为冲突判断依据。

系统提供以下三种冲突处理方式:

  • 跳过:忽略冲突数据,继续导入其他非冲突数据。

  • 更新:使用导入的新数据覆盖数据库中已存在的冲突数据,完成更新。

  • 中止:立即停止整个导入过程,并记录详细错误信息。此选项仅在选择“任意”时可用。

constraint

触发器配置

如数据表配置了相关触发器(如新增、更新、删除),可在导入时选择是否触发。导入触发器采用白名单机制,如果在导入的过程中:

  • 增加了新的触发器,不加到白名单中,不会被触发

  • 修改了触发器,仍在白名单中,触发修改后的触发器

  • 删除了触发器,从白名单移除,将立即不再被触发

预览数据

在配置完成后,可简单预览导入数据。系统会显示表格的前10行数据,供用户确认数据格式和内容是否正确。多媒体文件的预览仅显示文件名,不显示具体内容。

preview

执行导入与查看结果

确认无误后,点击“导入”按钮,系统开始导入数据。导入过程会占用一定数据库空间,完成后自动释放。

导入完成后,系统将提示导入成功或失败。可在“历史”中查看详细导入结果,包括成功条数。如部分数据被跳过或失败,系统会提供可下载的日志文件(保留 7 天),详细记录被跳过数据及错误原因。

为保证数据完整性与一致性,只要有一条数据导入失败,本次导入的所有数据均不会写入数据库。

import_result

log

数据导出流程

配置导出选项

  • 导出格式:CSV 或 Excel (xlsx)

若同时导出当前表和关联表,CSV 格式将生成多个独立的 CSV 文件,而 Excel 格式则会生成包含多个工作簿的单一文件。

  • 导出多媒体文件:

开启此选项后,系统会将所有相关的多媒体文件(图片、视频、文件)打包成一个 ZIP 压缩包导出,压缩包中包含 IMAGE、VIDEO 和 FILE 三个文件夹,分别存放对应的媒体内容。

选择数据范围

  • 选择数据表:支持所有系统表、自定义表及自定义视图
  • 配置筛选条件:可设置过滤、排序、去重等条件,精准筛选导出数据
  • 选择导出字段:可自由选择当前表及关联表字段

exporting

执行导出与查看结果

完成配置后,点击“导出”按钮开始导出。导出文件可在“历史”记录中查看与下载,文件保留 7 天。

导入常见错误处理

导入日志提供详细错误信息,包括文件名、工作表名、具体行数及错误描述,便于精准定位和排查。日志行号与表格实际行号一致,表格数据从第 2 行(第 1 行为标题)开始,日志亦从第 2 行报告。

错误信息原因处理建议
NO_MATCHING_MEDIA未找到对应多媒体文件,可能因目录结构不规范或文件与数据未正确匹配。1. 检查多媒体文件目录结构是否规范;2. 核对表格中的文件名是否规范;3. 检查表格文件名与实际文件是否一致。
unique_constraint_violation导入数据与唯一约束冲突。1. 检查并移除重复数据;2. 在导入配置中选择跳过该唯一约束。
MISMATCHED_DATA_TYPE数据类型不匹配。请将表格数据修改为指定数据类型。
INTERNAL_ERROR可能原因多样,如压缩包编码非 UTF-8。建议使用 Bandizip 等工具进行压缩。
Last updated on