csv文件导入mysql数据库

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

1

看了一眼,导入类型并无咱们须要的csv文件格式(注:Navicat Premium 11 支持csv导入格式)。双击打开csv文件打开,可用excel打开。以下图:web

excel

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

txt

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

2

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

3

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

4

六、选择目标表,因为已经有对应的表,不须要建立表。点击“下一步”。编码

5

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

6

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

7

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

8

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

mix_code

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

utf-8

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