Total Pageviews

Saturday, 27 April 2013

如何将CSV数据导入MySQL?

如何将CSV文件导入到MySQL数据库中,特写此文介绍一种方便、快捷的方法。

我们要使用的辅助工具是著名的MySQL管理软件:Navicat for MySQL- http://www.xiazaiba.com/html/2122.html

1)我准备了一个字符编码为UTF-8的标准CSV文件,总共有2001条记录(含字段行)。其在OpenOffice中的预览效果如下图所示。

2)使用Navicat新建一个数据库(也可以直接导入已存在的库),字符编码选择UTF-8(一定要和CSV使用的字符编码一直,否则导入过程可能会出错或者导入的数据出现乱码)。

3)在“表”上点击右键,选择“导入向导”菜单项,如下图所示:


4)导入类型选择“文本文件”,如下图所示:


下一步并选择要导入的CSV文件。

5)选择CSV使用的分隔符和文本限定符,如下图所示:


如果是TSV文件,栏位分隔符就要选择“定位”即制表符。

6)指定目标表(可以选择已存在的表,或者新建),如下图所示:


7)调整字段类型,长度,如下图所示:


对于新建的表,导入向导会使用CSV第一行的值作为默认的字段名。这里需要注意要根据栏位的长度选择合适的数据类型和长度,如果栏位长度超过了设定值导入过程就会出现错误。

8)开始导入、导入完成,如下图所示:


9)预览MySQL中导入的数据,如下图所示:


附:该方法虽然简单,但是导入速度比较慢,如果需要导入百万级的CSV数据建议编写程序实现(使用MySQL的Transactions可以快速插入数据)。