将Excel里面的数据直接生成sql语句
excel表格中有A、B、C三列数据,希望导入到数据库users表中,对应的字段分别是name,sex,age 。
在你的excel表格中增加一列,利用excel的公式自动生成sql语句,方法如下:
1、增加一列(D列)
2、在第一行的D列,就是D1中输入公式: =CONCATENATE("insert into users (name,sex,age) values ('",A1,"','",B1,"','",C1,"');")
3、此时D1已经生成了如下的sql语句: "insert into users (name,sex,age) values ('ls','女','24')";
4、将D1的公式复制到所有行的D列
5、此时D列已经生成了所有的sql语句
6、把D列复制到一个纯文本文件中
7、去掉SQL语句的双引号
=============================== 华丽的分割线 =============================================
我们经常会遇到这样的要求:用户给发过来一些数据,要我们直接给存放到数据库里面,有的是Insert,有的是Update等等,少量的数据我们可以采取最原始的办法,也就是在SQL里面用Insert
into来实现,但是如果有几十条几百条甚至上千条数据的时候继续写单独的SQL语句的话那就惨了,其实有两种简单的方法;
第一,将Excel数据整理好了之后,通过SQL的导入功能直接导进数据库,但是得保证数据库字段和Excel的字段一致。
第二,通过Excel来生成对应的SQL语句,直接将SQL语句复制到分析器里面执行即可,本文就说一下如何来实现这第二种办法。
首先看下图,我们的目的就是将这20条数据Insert到数据库里面去,一条两条的话可以自己写Insert语句,这里有20条数据,总不能完全手写20条语句出来吧,
很显然,不能一条一条的去写SQL了,太多了,这里还只有20条,如果是200条,2000条数据呢?
INSERTINTOTableName(Column1,Column2,Column3)VALUES('Value1','Value2','Value3')
写出一条语句之后,直接从头拉到尾,你会发现所有的数据都有对应的脚本了,这个时候你便可以直接复制到分析器,按一下"F5",OK,你的任务完成了。
因为在公式里面,所以有时候那些语句会变化,当你生成这些语句之后,你可以选择性的粘贴为数值,然后再放到SQL里面去执行,如下:
好了,以上是我的一点儿小经验,希望对大家有用