excel编写sql语句导入mysql_通过Excel生成批量SQL语句(Excel快速生成SQL更新语句)

们经常会遇到这样的要求:用户给发过来一些数据,要我们直接给存放到数据库里面,有的是Insert,有的是Update等等,少量的数据我们可以采取最原始的办法,也就是在SQL里面用Insert into来实现,但是如果有几十条几百条甚至上千条数据的时候继续写单独的SQL语句的话那就惨了,其实有两种简单的方法;

第一,将Excel数据整理好了之后,通过SQL的导入功能直接导进数据库,但是得保证数据库字段和Excel的字段一致。

第二,通过Excel来生成对应的SQL语句,直接将SQL语句复制到分析器里面执行即可,本文就说一下如何来实现这第二种办法。

首先看下图,我们的目的就是将这20条数据Insert到数据库里面去,一条两条的话可以自己写Insert语句,这里有20条数据,总不能完全手写20条语句出来吧,

excel编写sql语句导入mysql_通过Excel生成批量SQL语句(Excel快速生成SQL更新语句)_第1张图片

很显然,不能一条一条的去写SQL了,太多了,这里还只有20条,如果是200条,2000条数据呢?

INSERT INTO TableName(Column1,Column2,Column3) VALUES('Value1','Value2','Value3')

excel编写sql语句导入mysql_通过Excel生成批量SQL语句(Excel快速生成SQL更新语句)_第2张图片

写出一条语句之后,直接从头拉到尾,你会发现所有的数据都有对应的脚本了,这个时候你便可以直接复制到分析器,按一下"F5",OK,你的任务完成了。

excel编写sql语句导入mysql_通过Excel生成批量SQL语句(Excel快速生成SQL更新语句)_第3张图片

因为在公式里面,所以有时候那些语句会变化,当你生成这些语句之后,你可以选择性的粘贴为数值,然后再放到SQL里面去执行,如下:

excel编写sql语句导入mysql_通过Excel生成批量SQL语句(Excel快速生成SQL更新语句)_第4张图片

好了,以上是我的一点儿小经验,希望对大家有用,只有互相分享才能得到提高,如果您觉得还行的话请帮忙顶一下,谢谢!

下面补充是启源分享的

Excel快速生成SQL更新语句

供应商调整了产品信息,我们的业务系统需要进行同步。运维部同事已经把产品新的产品信息发过来。如图:

excel编写sql语句导入mysql_通过Excel生成批量SQL语句(Excel快速生成SQL更新语句)_第5张图片

虽然后台可以调整参数,但是竟然有几百个产品都更新了,作为程序员的我们当然不会傻傻的去挨个调整,使用SQL语句几分钟就搞定,而且还不出错。

Excel连接字符串使用 and符号(&),常量使用 双引号(”),有这些只是就可以开工了。

根据规则,在后边的单元格中输入公式。比如: =”update 表名 set 字段1='” & B2 & “‘,字段2='” & B2*1 & “‘ where 字段三='” & B3 & “‘”

如图,每个选择的单元格 还会自动高亮,非常人性化。

excel编写sql语句导入mysql_通过Excel生成批量SQL语句(Excel快速生成SQL更新语句)_第6张图片

测试单个 脚本无误后,直接拉下来,到查询分析器里 执行,你就会发现,世界原来如此美好:)。

excel编写sql语句导入mysql_通过Excel生成批量SQL语句(Excel快速生成SQL更新语句)_第7张图片

下面是brusss同学分享的

excel批量生成SQL语句操作

根据用户提供的excel表格,根据其中某些列对excel中关联的数据进行数据库更新,

用户提供的excel如下:

excel编写sql语句导入mysql_通过Excel生成批量SQL语句(Excel快速生成SQL更新语句)_第8张图片

在K2单元格输入 :

="update business_contract_detail set haveInsuranceSum='"&E2&"',maxInsuranceRatio='"&G2&"',maxInsuranceAmount='"&F2&"' where serialno=(select serialno from business_contract where business_type = '"&B2&"')"

在L2单元格输入:

="update business_contract_detail set minVehicleFinancingAmount ='"&H2&"',maxVehicleFinancingAmount ='"&I2&"',minShoufuRatio ='"&J2&"' where serialno=(select serialno from business_contract where business_type = '"&B2&"')"

如下图 ,注意最好要保证excel要取值的列单元格格式为文本格式

excel编写sql语句导入mysql_通过Excel生成批量SQL语句(Excel快速生成SQL更新语句)_第9张图片

L2单元格 :

excel编写sql语句导入mysql_通过Excel生成批量SQL语句(Excel快速生成SQL更新语句)_第10张图片

输入完毕,点击如上截图的 按钮 ,鼠标移动到K2,右下角 ,出现 “”+“”时双击书记左键 ,或者向下拖到至excel最后一行数据处,即可生成所有SQL, L列同样如此 ,输入时所有标点或者单双引号必须为英文符号 。

该文章只是工作中自己学习笔记,仅供参考

你可能感兴趣的:(excel编写sql语句导入mysql_通过Excel生成批量SQL语句(Excel快速生成SQL更新语句))