登录
推荐 文章 Go 技术 课程 下载 专题 AI
首页 >  文章 >  软件教程

DataGrip 怎么导入 CSV 并调整字段映射

来源:17golang原创

时间:2026-09-06 03:47:45 197浏览 收藏

把运营导出的 CSV 放进数据库时,真正容易出错的不是“选文件”,而是首行、分隔符和目标列没有对齐。DataGrip 的完整路径是:在 Database Explorer 中右键目标 schema 或 table,选择 Import/Export → Import Data from File(s),选中 CSV 后在 Import 对话框里调整源文件与映射。目标 schema、目标表、首行表头和列对应关系都确认无误,再应用设置。

最稳妥的判断方式是看底部 Data Preview:它应该把 CSV 拆成预期的列,首行显示为字段名,Mapping 中每个 Source Column 都指向正确的 Target Column。

要点速览
  • 右键 schema 会创建新表,右键已有 table 则默认向该表追加数据。
  • CSV 源节点负责首行表头、字符集、格式、分隔符和空白处理。
  • Mapping 节点负责 Schema、Table、Source Column 与 Target Column;预览不对时不要急着应用。

导入前先确定文件和写入目标

本文处理的是一个普通的逗号分隔 CSV 导入,不替代数据库备份或大批量迁移工具。先确认文件的第一行是否是字段名,例如 order_no,amount,created_at,再决定写入新表还是已有表。如果目标是新表,右键 schema;如果是给现有表追加数据,直接右键该 table。两种入口都使用同一个 Import Data from File(s) 对话框,但目标位置不同。

还要提前留意两个边界:文件实际可能使用分号或制表符作为分隔符,中文文件也可能不是 UTF-8。后面不要只凭扩展名判断,应该以预览中的列是否正确拆开为准。

第1步:从 Database Explorer 打开 CSV 导入入口

在左侧 Database Explorer 找到目标数据源。右键 schema 或 table,进入 Import/Export,点击 Import Data from File(s)。文件选择器打开后选中 CSV 文件;也可以从 Files 工具窗口把 CSV 拖到 Database Explorer,再配置导入设置。

DataGrip Database Explorer 中展开 Import/Export 菜单并指向 Import Data from File(s)
图1:从目标 schema 或 table 的 Import/Export 菜单进入 Import Data from File(s)。

成功进入后,Import 对话框左上角的映射树会出现源文件节点,右侧可以看到目标 Schema 和 Table 字段。若右键的是 schema,Table 通常用于填写新表名;若右键的是已有表,则要确认当前目标确实是准备追加数据的表。

第2步:先把 CSV 源文件读对

在映射树中选中 CSV 源文件节点,检查右侧设置。确认 First row is header,这样首行会作为列名而不是一条数据;再按文件实际情况设置 CharsetFormat。CSV 的格式按钮可继续调整分隔符、引号等读取规则。字段两侧带有多余空格时,可以打开 Trim whitespaces;如果空格本身有业务意义,就不要勾选。

DataGrip Import 对话框中的 CSV 源设置显示首行表头、字符集、格式和数据预览
图2:在 CSV 源节点调整首行表头、字符集和格式,并用 Data Preview 检查列是否拆分正确。

底部 Data Preview 是这一阶段的检查点:如果整行挤在一列,优先回到 Format 检查分隔符;如果中文乱码,检查 Charset;如果第一条记录变成了字段名那一行,检查 First row is header。先修正读取方式,再进入字段映射。

第3步:在 Mapping 中调整目标列

选中映射树中的 Mapping 节点。这里先确认 SchemaTable,再查看 Source Column 与 Target Column 的对应关系。导入到新表时可以填写表名,必要时通过建表按钮生成目标表;导入已有表时要特别注意 CSV 列顺序不要被误当成目标表顺序。

DataGrip Mapping 设置页显示目标 schema、目标表以及 Source Column 到 Target Column 的对应关系
图3:在 Mapping 节点核对目标表,并把 CSV 的 Source Column 调整到正确的 Target Column。

如果字段顺序不一致,用映射列表旁的添加、删除、上移和下移按钮调整;不要为了“看起来对齐”去修改源 CSV。类型转换失败时,可以选择 Write errors to file 保存错误,也可以在目标表允许的场景启用 Insert inconvertible values as null,但这会把无法转换的原值变成 NULL,不能替代数据清洗。

应用前用预览确认,导入后再查目标表

重新看一次 Data Preview,确认列名、值、日期和数值位置都合理;新表场景再看 DDL Preview,确认建表语句里的字段类型符合预期。若目标表包含索引或触发器,谨慎使用禁用索引和触发器的选项,因为导入期间可能不会触发原有逻辑。

确认后点击 Apply 并关闭对话框。回到 Database Explorer 刷新目标表,抽查首条、末条和一条中文记录;已有表还要检查导入前后的记录数变化。这个复查能区分“文件读取正确但目标列错了”和“文件本身就有坏值”两类问题。

常见问题

为什么 CSV 导入后所有内容都在一列?

通常是 Format 中的分隔符与实际文件不一致。回到 CSV 源节点调整格式,再观察 Data Preview 是否拆成多列。

右键 schema 和右键 table 有什么区别?

对 schema 执行导入通常会创建新表;对已有 table 执行相同命令则是向该表添加数据。目标不同,导入前要先确认右键对象。

字段映射看起来正确,为什么仍然导入失败?

继续看 Charset、数值或日期类型,以及是否存在不可转换值。必要时写入错误文件,或仅在业务允许时将不可转换值插入为 NULL

完成确认

一次可靠的 DataGrip CSV 导入,应同时满足四点:入口对象正确,Data Preview 的列和表头正确,Mapping 的 Source Column 与 Target Column 对齐,目标表刷新后能查到预期记录。只要其中一项不确定,就先回到对应节点调整,不要用重复导入来碰运气。

声明:本文转载于:17golang原创 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>