navicat导入数据详细教程附navicat绿色版下载链接解压即用
·
目录
二、方法 1:通过「数据导入向导」导入 CSV/Excel(最常用)
一、导入前准备工作
在开始导入前,需确认 3 个基础条件,避免后续报错:
- MySQL 服务正常运行:通过任务管理器(Windows)或
systemctl status mysqld(Linux)确认服务未停止。 - Navicat 已成功连接数据库:打开 Navicat 后,确保左侧「连接」列表中目标数据库处于「已连接」状态(图标无红色叉号)。
- 数据文件就绪:
- 若为 Excel 文件:建议先另存为
CSV格式(避免格式兼容问题,Excel 另存时选择「CSV (逗号分隔)(*.csv)」,编码选 UTF-8)。 - 若为 SQL 脚本:确保脚本无语法错误(可先用文本编辑器预览,包含
CREATE TABLE/INSERT等语句)。 - 若为 CSV 文件:确认字段分隔符(默认逗号,特殊情况可能是制表符
\t)、是否包含标题行。
- 若为 Excel 文件:建议先另存为
二、方法 1:通过「数据导入向导」导入 CSV/Excel(最常用)
适合导入结构化数据(如表格数据),支持自动匹配字段,新手友好。
步骤 1:打开「数据导入向导」
有 2 种入口,任选其一:
- 入口 1(从菜单打开):在 Navicat 顶部菜单栏点击 【工具】→【数据导入向导】(如下图文字描述:菜单栏最右侧 “工具” 下拉列表中找到 “数据导入向导”)。
- 入口 2(从表 / 数据库右键打开):右键点击目标数据库 / 目标表 → 选择 【导入数据】(若选数据库,后续需指定表;若选表,直接导入到该表)。
步骤 2:选择数据源类型
弹出「数据导入向导」窗口后,选择要导入的文件格式,点击【下一步】:
- 导入 Excel:选 Microsoft Excel (*.xlsx, *.xls)(注意:Navicat 对高版本 Excel 兼容性可能较差,建议优先用 CSV)。
- 导入 CSV:选 CSV 文件 (*.csv)(推荐,兼容性最好)。
- 其他格式:如 TXT,选 文本文件 (*.txt)。
步骤 3:配置数据源文件信息
- 点击【浏览】选择本地数据文件路径(如
D:\data\user_info.csv)。 - 关键配置(避免乱码和字段错位):
- 编码:必选
UTF-8(若导入后中文乱码,可尝试GBK,需与文件实际编码一致)。 - 是否包含标题行:若 CSV/Excel 第一行是字段名(如 “id,username,age”),勾选 「第一行包含列名」(否则会把标题行当数据导入)。
- 若为 CSV/TXT:补充「字段分隔符」(默认逗号
,,若为制表符分隔,选「制表符」)、「文本限定符」(默认双引号",无需修改)。
- 编码:必选
- 点击【预览】可查看数据是否正常显示(无乱码、无字段错位),确认后点击【下一步】。
步骤 4:选择目标数据库和表
- 目标连接:默认是当前已连接的 MySQL 连接(无需修改,若需切换,下拉选择)。
- 目标数据库:下拉选择要导入的数据库(如
test_db)。 - 目标表:
- 情况 1:导入到「已存在的表」:下拉选择现有表(如
user),后续需匹配字段。 - 情况 2:新建表导入:选择 【新建表】(输入新表名,如
new_user),Navicat 会自动根据数据结构创建表结构。
- 情况 1:导入到「已存在的表」:下拉选择现有表(如
- 点击【下一步】。
步骤 5:字段映射(核心!避免数据错位)
这一步决定数据能否正确写入表中,需仔细核对:
- 界面左侧:「源列」(数据文件的列,如 CSV 的 “id,username,age”)。
- 界面右侧:「目标列」(数据库表的字段,如
user表的id、username、age)。 - 匹配规则:
- 自动匹配:若源列名与目标列名一致(如 “username” 对应
username),Navicat 会自动关联,图标显示「√」。 - 手动匹配:若列名不一致(如源列 “用户年龄” 对应目标列
age),点击右侧「目标列」下拉选择正确字段。 - 跳过列:若某列无需导入(如源文件的 “备注” 列),在右侧「目标列」选择 【不导入】。
- 自动匹配:若源列名与目标列名一致(如 “username” 对应
- 额外检查:确认「数据类型」匹配(如源列 “age” 是数字,目标列
age需为INT/TINYINT,不能是VARCHAR)。 - 配置完成后点击【下一步】。
步骤 6:设置导入选项
根据需求选择导入策略,避免覆盖数据:
- 导入模式:
- 追加数据:选 【向目标表中追加记录】(保留原有数据,新增导入数据,推荐)。
- 覆盖数据:选 【清空目标表并导入记录】(删除原有数据,谨慎使用!)。
- 错误处理:
- 选 【遇到错误时继续】(即使某行数据错误,其他行仍能导入,后续可查错误日志)。
- 若需严格校验,选 【遇到错误时停止】。
- 点击【下一步】。
步骤 7:执行导入并查看结果
- 确认所有配置无误后,点击 【开始】 执行导入。
- 导入完成后,界面会显示「成功记录数」「失败记录数」:
- 若全部成功:点击【完成】,直接在 Navicat 中打开目标表(右键→【打开表】)查看数据。
- 若有失败:点击【查看日志】,根据错误提示排查(常见错误:字段类型不匹配、数据超出长度、主键重复)。
三、方法 2:导入 SQL 脚本(批量执行 SQL 语句)
适合导入通过 SQL 脚本生成的数据(如CREATE TABLE + INSERT语句、备份的.sql文件)。
步骤 1:打开 SQL 脚本文件
- 方式 1:在 Navicat 顶部菜单栏点击 【文件】→【打开】,选择本地的
.sql文件(如backup_user.sql)。 - 方式 2:直接将
.sql文件拖拽到 Navicat 的「查询编辑器」窗口(需先新建查询:右键数据库→【新建查询】)。
步骤 2:选择执行的目标数据库
确保 SQL 脚本执行的是正确的数据库:
- 在「查询编辑器」顶部,确认「当前数据库」下拉框已选中目标库(如
test_db)。 - 若未选中,点击下拉框选择对应数据库(避免执行到其他库中)。
步骤 3:执行 SQL 脚本
- 若脚本较小(<100MB):点击「查询编辑器」工具栏的 【运行】按钮(绿色三角图标),或按快捷键
F5。 - 若脚本较大(>100MB):避免直接运行(可能超时),改用「运行 SQL 文件」功能:
- 右键点击目标数据库 → 选择 【运行 SQL 文件】。
- 在弹出窗口中点击【浏览】选择
.sql文件,设置「编码」为UTF-8,点击【开始】。
- 查看执行结果:
- 若成功:底部「结果」面板显示「执行成功」,打开表查看数据。
- 若失败:根据「错误」面板的提示修改 SQL 脚本(如语法错误、表已存在),重新执行。
四、方法 3:表数据直接复制粘贴(少量数据快速导入)
适合导入少量数据(如几十行),无需配置格式,效率高。
步骤 1:准备待复制数据
在 Excel/CSV/ 文本文件中,选中要导入的数据(不包含标题行,若已包含,后续需删除),按 Ctrl+C 复制。
步骤 2:打开目标表的数据编辑界面
- 在 Navicat 中找到目标表(如
user),右键点击 → 选择 【打开表】(进入数据浏览模式)。 - 点击表的「最后一行空白行」(首列显示
*,表示新增行),确保光标定位在第一列。
步骤 3:粘贴数据并保存
- 按
Ctrl+V粘贴数据,此时数据会自动填充到对应列(需确保复制的列数与表的字段数一致,否则会错位)。 - 粘贴后,点击工具栏的 【保存】按钮(磁盘图标),或按
Ctrl+S保存数据。 - 提示「保存成功」后,刷新表(右键→【刷新】)即可查看导入的数据。
五、常见问题与解决方案
| 问题现象 | 原因分析 | 解决方案 |
|---|---|---|
| 导入后中文乱码 | 数据文件编码与 Navicat 配置编码不一致 | 1. 重新导出文件为 UTF-8 编码;2. 导入时编码选 UTF-8/GBK |
| 字段错位(如年龄列显示姓名) | 字段映射未正确匹配;分隔符设置错误 | 1. 重新进入「字段映射」步骤核对;2. 确认 CSV 分隔符是逗号 / 制表符 |
| 导入失败提示「主键重复」 | 目标表主键字段已存在相同值 | 1. 删除目标表重复数据;2. 导入模式选「追加」而非「覆盖」 |
| 提示「权限不足」 | 当前 MySQL 用户无表的 INSERT 权限 | 执行 SQL 授权:GRANT INSERT ON 数据库.表 TO '用户名'@'localhost'; |
| 大文件导入超时 | Navicat 默认执行超时时间过短 | 1. 用「运行 SQL 文件」功能(方法 2 步骤 3);2. 调整 Navicat 超时:【工具】→【选项】→【连接】→ 延长「超时时间」 |
六、注意事项
- 备份原有数据:导入前建议备份目标表(右键表→【备份表】),避免导入错误导致数据丢失。
- 数据格式校验:导入前检查数据(如日期格式为
YYYY-MM-DD,数字无多余符号),避免因格式错误导致导入失败。 - 版本兼容性:Navicat 12 及以上版本对 Excel 2016 + 兼容性更好,若使用旧版本,建议优先将 Excel 转为 CSV 导入。
按照以上步骤操作,即可通过 Navicat 顺利完成 MySQL 数据导入,不同场景选择对应方法即可(结构化数据用方法 1,SQL 脚本用方法 2,少量数据用方法 3)。
navicat下载链接
navicat绿色版下载链接,下载解压即用
更多推荐

所有评论(0)