拿到一份csv文件,有八个csv文件,每个csv文件的数据需要导入数据库对应表。常用的navicat for mysql工具支持导入。
1、右键需要导入数据的表,点击“导入向导”,弹出如下弹框。

1

看了一眼,导入类型并没有我们需要的csv文件格式(注:Navicat Premium 11 支持csv导入格式)。双击打开csv文件打开,可用excel打开。如下图:

excel

想着,要不转换成excel的xls文件格式。然后用excel工具,另存为xls格式。殊不知,给自己埋了个坑。xls文件的行数是有限制的,最大为65536行,列也有限制,最大为256列。以上限制数据基于excel版本2010及以下。所以当数据量大于65536条时,后面的数据就被抹去了,造成导入数据库数据异常。
后来,把csv文件以文本形式(txt)打开,如下图:

txt

既然文本打开无异常,那么就可以以文本形式导入。
2、导入类型选择“文本文件(*.txt)”,点击“下一步”。
3、点击“选择数据源文件”,弹出窗口,默认选择格式类型为*.txt的,可选择全部文件,而后选择csv文件。若数据库建表语句是“DEFAULT CHARSET=utf8”,那么编码格式默认65001 (UTF-8)即可。点击“下一步”。

2

4、栏位分隔符选择,csv文件文本打开是“,”分割的,选择“,”。其他默认。点击“下一步”。

3

5、数据源选项,没有特殊要求的话只需要改一下栏位与第一组数据的行数。设置好后,点击“下一步”。

4

6、选择目标表,由于已经有对应的表,不需要创建表。点击“下一步”。

5

7、定义对应栏位,若导入文件的字段栏位与数据库字段名匹配,会自动设置对应关系。若栏位字段不对应,可手工调整。设置好后,点击“下一步”。

6

8、选择导入模式,有添加、更新、添加或更新、删除、复制五种模式。若需空格代替字段为null的值,点击“高级”。设置好后,点击“下一步”。

7

9、执行,点击“开始”,开始导入数据。数据导入完毕后,查看下是否有报错,有报错,排查问题,无报错,数据导入过程结束。

8

10、检查表数据,打开表,查看数据是否有异常,还真有异常,中文乱码。

mix_code

解决方法:
Notpad++打开后,选择“编码  转为UTF-8编码格式”,保存。重新导入文件即可.

utf-8

注:若是Navicat Premium 11 支持csv导入格式,选择csv导入格式后出现中文乱码,在第3步设置导入编码格式为:20936 (Simplified Chinese GB2312)

Logo

更多推荐