MySQL | 导入Excel表步骤及出错分析
一 、MySQL Workbench 导入Excel表步骤
-
将需要导入的excel文件通过“另存为”的方式保存为 .csv 格式
-
用 Notepad++ 打开刚刚修改的 .csv 文件,将编码格式转换为 UTF-8
-
右击数据表,选择Table Data Import Wizard,并将.csv文件导入,一路next,就可以导入成功了
-
最后可以通过查询,检查一下刚刚导入的数据
select * from tablename;
二、出错分析
我在导入表的时候,遇到了几个错误,现在进行一下简单的总结和分析。
(1)中文字符问题
因为我本地的excel表的标题是中文的,所以在导入的时候会报错,如下图
然后将标题更改为英文模式这个错误就消失了,如下
(2)数据类型不一致问题
当本地的数据表中的数据类型跟在 mysql 中定义的 table 的类型不一致时,就会导入不成功,哪怕1万条数据中,有一个数据的数据类型不符合定义,都会导入失败。
我在定义表时,将一个本应为 int 类型的字段定义成了 tinyint ,结果,一直出现下图中的情况
明着看好像没啥问题,因为在导入时候已经花费了时间了,说明是有数据被操作的,但是下面又显示 “ 0 records imported ” ,再去 “ select * from tablename; ” 也是查询不到数据的,这就说明导入并没有成功,我也不清楚问题的根源是什么,在检查了一阵子后,将发现数据类型好像与定义的范围不一致,最后将 tinyint 修改为 int ,问题就解决了。
(3)与 Notepad++ 配合问题
当发现数据类型或者一些数据需要修改时,我们很顺手的就会用记事本来打开这个 .csv文件去修改,但是修改完,我们需要再通过用 Notepad++去打开这个文件,再次修改编码为 UTF-8,才可以继续完成导入操作。(注意:UTF-8-BOM与UTF-8是不一样的,需要UTF-8才行);
或者还有另一种方法,就是需要修改数据的时候直接打开Notepad++去修改,就不存在这种烦恼了。
以上是我的一些个人总结,如果有讲的不到位的地方,大家留言告诉我,谢谢。