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,再配置导入设置。

成功进入后,Import 对话框左上角的映射树会出现源文件节点,右侧可以看到目标 Schema 和 Table 字段。若右键的是 schema,Table 通常用于填写新表名;若右键的是已有表,则要确认当前目标确实是准备追加数据的表。
第2步:先把 CSV 源文件读对
在映射树中选中 CSV 源文件节点,检查右侧设置。确认 First row is header,这样首行会作为列名而不是一条数据;再按文件实际情况设置 Charset 和 Format。CSV 的格式按钮可继续调整分隔符、引号等读取规则。字段两侧带有多余空格时,可以打开 Trim whitespaces;如果空格本身有业务意义,就不要勾选。

底部 Data Preview 是这一阶段的检查点:如果整行挤在一列,优先回到 Format 检查分隔符;如果中文乱码,检查 Charset;如果第一条记录变成了字段名那一行,检查 First row is header。先修正读取方式,再进入字段映射。
第3步:在 Mapping 中调整目标列
选中映射树中的 Mapping 节点。这里先确认 Schema 和 Table,再查看 Source Column 与 Target Column 的对应关系。导入到新表时可以填写表名,必要时通过建表按钮生成目标表;导入已有表时要特别注意 CSV 列顺序不要被误当成目标表顺序。

如果字段顺序不一致,用映射列表旁的添加、删除、上移和下移按钮调整;不要为了“看起来对齐”去修改源 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 对齐,目标表刷新后能查到预期记录。只要其中一项不确定,就先回到对应节点调整,不要用重复导入来碰运气。
-
361 收藏
-
Golang · Go教程 | 1个月前 | csv · Go教程 · 后端架构 · 流式响应 · 大文件导出 · 大文件下载 FLUSH CSV导出 Go教程 流式写出 csv.Writer rows.Next251 收藏
-
407 收藏
-
Golang · Go教程 | 3星期前 | 标准库 · go · csv · 数据导入 · 错误定位 · CSV导入 encoding/csv Go教程 FieldsPerRecord LazyQuotes216 收藏
-
Golang · Go教程 | 4小时前 | Excel · csv · Go教程 · 文件编码 · 报表导出 · Excel Go encoding/csv csv.Writer UTF-8 BOM CSV乱码124 收藏
-
390 收藏
-
201 收藏
-
115 收藏
-
498 收藏
-
281 收藏
-
493 收藏
-
323 收藏
-
417 收藏
-
114 收藏
-
287 收藏
-
文章 · 软件教程 | 2天前 | 前端性能 · 浏览器缓存 · Chrome DevTools · 网页调试 · Chrome DevTools bfcache Back-forward Cache Run Test259 收藏
-
468 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习