经常有客户咨询如何将CSV文件导入到MySQL数据库中,特写此文介绍一种方便、快捷的方法。
我们要使用的辅助工具是著名的MySQL管理软件:Navicat for MySQL
1)我准备了一个字符编码为UTF-8的标准CSV文件,总共有2001条记录(含字段行)。其在OpenOffice中的预览效果如下图所示。
![](https://i-blog.csdnimg.cn/blog_migrate/f2b67f2c7deb57056f97b78a1d717303.jpeg)
2)使用Navicat新建一个数据库(也可以直接导入已存在的库),字符编码选择UTF-8(一定要和CSV使用的字符编码一直,否则导入过程可能会出错或者导入的数据出现乱码)。
3)在“表”上点击右键,选择“导入向导”菜单项,如下图所示:
![](https://i-blog.csdnimg.cn/blog_migrate/58102399ab4b773270903fb5fa87a718.jpeg)
4)导入类型选择“文本文件”,如下图所示:
![](https://i-blog.csdnimg.cn/blog_migrate/2114c9238872052418c816dc9ffad27f.jpeg)
下一步并选择要导入的CSV文件。
5)选择CSV使用的分隔符和文本限定符,如下图所示:
![](https://i-blog.csdnimg.cn/blog_migrate/7bca5556069f4e63e0c7f6c6392c45de.jpeg)
如果是TSV文件,栏位分隔符就要选择“定位”即制表符。
6)指定目标表(可以选择已存在的表,或者新建),如下图所示:
![](https://i-blog.csdnimg.cn/blog_migrate/b6fa3dec036340e482f2dda4ac851f24.jpeg)
7)调整字段类型,长度,如下图所示:
![](https://i-blog.csdnimg.cn/blog_migrate/6665ad7ac94648723eb3da210e1cdc44.jpeg)
对于新建的表,导入向导会使用CSV第一行的值作为默认的字段名。这里需要注意要根据栏位的长度选择合适的数据类型和长度,如果栏位长度超过了设定值导入过程就会出现错误。
8)开始导入、导入完成,如下图所示:
![](https://i-blog.csdnimg.cn/blog_migrate/d4e84bc918c947bb5a03f9f8ad5f3c63.jpeg)
9)预览MySQL中导入的数据,如下图所示:
![](https://i-blog.csdnimg.cn/blog_migrate/efc9dfe34a2e56ac1c8643d6f7901c78.jpeg)
附:该方法虽然简单,但是导入速度比较慢,如果需要导入百万级的CSV数据建议编写程序实现(使用MySQL的Transactions可以快速插入数据)。
文章摘自:http://www.site-digger.com/html/articles/20120525/34.html