Home > Database > Mysql Tutorial > 一个将Excel中的数据导入MySQL的简单方法_MySQL

一个将Excel中的数据导入MySQL的简单方法_MySQL

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Release: 2016-06-01 14:00:46
Original
1113 people have browsed it

笔者介绍了一个将Excel中的数据导入MySQL的简单方法。
  这个方法最简单但不是傻瓜式的方法,需要你对Excel和MySQL都有一点点了解。

  当然,我在最后提供了一个作为例子的Excel文件,但仍然需要你会写MySQL的INSERT语句,这样才能调试可能出现的错误。

  1.在需要导入的数据最后一列,写入一个Excel公式(例子中是“SQL”下面的单元格,“SQL”是不必要的,仅仅是为了看起来方便)。

  =CONCATENATE("insert into employee(name,birthday,email,hobby)values('",RC[-4],"','",RC[-3],"','",RC[-2],"','",RC[-1],"');")

  这样就会生成insert语句,正如你在例子Excel文件中看到的(当你单击SQL下面的单元格时,可以看到公式)。

  这个实际上是使用了Excel的CONCATENATE字符串连接函数,将数据生成你需要的SQL语句。RC[-2]是从最后一列(不包括该列)往前数的第二列。

  2.将"SQL"下面单元格的公式复制到该列的其它单元格,这样可以看到生成了所需要的所有SQL语句。

  3.将最后一列选中,复制数据到一个文本文件,将该文本文件另存为一个.sql文件(别忘了删除第一行的“SQL”)。

  4.能够运行sql文件的工具有很多,运行这个文件就可以了。如果没有工具,参考 在windows下批量执行mysql脚本(http://www.albertsong.com/read-21.html)。

  使用上面的方法,你需要知道什么样的insert语句对于mysql来说是正确的。

  最常见的是日期的格式,如果不转换成字符串,用上面的方法会生成一个整数,这样插入mysql后就不对了。

  因此上面的公式改成

  =CONCATENATE("insert into employee(name,birthday,email,hobby)values('",RC[-4],"','",TEXT(RC[-3],"yyyy-mm-dd hh:mm:ss"),"','",RC[-2],"','",RC[-1],"');")

  这里用到了TEXT函数来将日期格式化成mysql能接受的日期字符串。

  具体请参考例子。Excel2Mysql.rar

  文件说明如下:

  doc.txt--本文

  SqlGen.xls--Excel例子文件

  create.sql--建表语句

  insert.sql--生成的insert语句

  function.txt--需要在Excel中使用的函数

  写了这么多,实际上就一句话:使用Excel的CONCATENATE函数生成sql语句并执行。

  如果懂一点儿VBA可以直接生成insert.sql文件

 

Related labels:
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template