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

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

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

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

很显然,不能一条一条的去写SQL了,太多了,这里还只有百十条,如果是成千上万条数据呢?

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

完整拼接sql:=CONCATENATE("insert into table(gaug_point_id,name,tagname,tagdesp,dbtype,tagtype,ACQUISITIONCYCLE,use_state) values(SYS_GUID(), "&" '"&D76&"',"&" '"&E76&"', "&" '"&C76&"', "&" '"&F76&"', "&" '"&G76&"', "&" '"&H76&"', "&" '"&I76&"');")

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

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

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

下面补充是启源分享的

Excel快速生成SQL更新语句

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

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

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

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

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

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

下面是brusss同学分享的

excel批量生成SQL语句操作

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

用户提供的excel如下:

在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要取值的列单元格格式为文本格式

L2单元格 :

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

下面贴出操作的一个gif,以后忘记了帮助回忆。
 
 
这样就很容易获得你要的SQL啦。

参考原文链接http://www.jb51.net/office/excel/569081.html

https://www.cnblogs.com/yangh965/p/6296727.html

写博客是为了记住自己容易忘记的东西,另外也是对自己工作的总结,文章可以转载,无需版权。希望尽自己的努力,做到更好,大家一起努力进步!

如果有什么问题,欢迎大家一起探讨,代码如有问题,欢迎各位大神指正!

通过Excel生成批量SQL语句的更多相关文章

  1. 【分享】通过Excel生成批量SQL语句,处理大量数据的好办法

    我们经常会遇到这样的要求:用户给发过来一些数据,要我们直接给存放到数据库里面,有的是Insert,有的是Update等等,少量的数据我们可以采取最原始的办法,也就是在SQL里面用Insert into ...

  2. [转]Excel生成批量SQL语句,处理大量数据的好办法

    当有大量重复体力工作写入或修改数据到数据库中时,可以 第一,将Excel数据整理好了之后,通过SQL的导入功能直接导进数据库,但是得保证数据库字段和Excel的字段一致. 第二,通过Excel来生成对 ...

  3. 【转】通过Excel生成批量SQL语句,处理大量数据

    经常会遇到这样的要求:用户给发过来一些数据,要我们直接给存放到数据库里面,有的是Insert,有的是Update等等,少量的数据我们可以采取最原始的办法,也就是在SQL里面用Insert into来实 ...

  4. 通过Excel生成批量SQL语句,处理大量数据的好办法

    我们经常会遇到这样的要求:用户给发过来一些数据,要我们直接给存放到数据库里面,有的是Insert,有的是Update等等,少量的数据我们可以采取最原始的办法,也就是在SQL里面用Insert into ...

  5. 将Excel导出为SQL语句

    需求说明:公司做项目前进行需求分析,确定表结构后需要建表,如果照着表格去敲,那就太麻烦了,所以想到了自动生成SQL语句. 思路大概就是:解析Excel,拼接SQL语句,输出SQL文件. 第三方jar包 ...

  6. 在Excel中使用SQL语句查询和筛选

    本文转自:http://blog.sina.com.cn/s/blog_5fc375650102e1g5.html 今天在微博上看到@数据分析精选 分享的一篇文章,是关于<在Excel中使用SQ ...

  7. 使用EntityFramework6.1的DbCommandInterceptor拦截生成的SQL语句

    开始 EF6.1也出来不少日子了,6.1相比6.0有个很大的特点就是新增了System.Data.Entity.Infrastructure.Interception 命名空间,此命名空间下的对象可以 ...

  8. 用LinqPad查看Nhibernate生成的sql语句

    使用Nhibernate开发一般都要对Nhibernate生成的sql语句进行查看及分析,查看Nhibernate生成的sql语句,可以使用NHProfiler和log4net.但NHProfiler ...

  9. 【转】Hibernate利用@DynamicInsert和@DynamicUpdate生成动态SQL语句

    原文链接:http://www.cnblogs.com/quanyongan/p/3152290.html 最近在使用Hibernate4中,发现两个很有奥秘的注解 @DynamicInsert 和  ...

随机推荐

  1. win10系统安装Oracle11报错不满足最低要求

    以下问题是,在安装Oracle过程中遇到的问题以及自己的解决方法: 问题一:下载好两个Oracle的安装压缩包文件,同时解压后,启动setup.exe,报错:[INS-13001]环境不满足最低要求. ...

  2. 20165330 2017-2018-2 《Java程序设计》第6周学习总结

    课本知识总结 第八章 常用实用类 String类 String对象 构造方法: 使用String类声明对象并创建对象 String s = new String("we are studen ...

  3. 研究php单例模式实现数据库类

    实现单例模式:单例模式是一种常用的软件设计模式.在它的核心结构中只包含一个被称为单例的特殊类.通过单例模式可以保证系统中一个类只有一个实例. 单例模式的逻辑:类里面声明一个静态的方法和变量,静态变量用 ...

  4. 重装系统后Myeclipse遇到的项目配置问题--一个菜鸟的经历!

    电脑不知道为什么流量突然变大了. 一查svchost.exe后台下载老多系统.某某安全卫士根本么用,运维说用某企鹅管家. 结果一个鸟样.. 之前是系统是32位的win7  4G内存用不完.又打算升级内 ...

  5. Hbase­优化方案

    1.预分区设计 真正存储数据的是region要维护一个区间段的rowkey startRow~endRowkey ->手动设置预分区 create 'user_p','info','partit ...

  6. lua获取table的长度

    lua在获取table的size时,不能一味的使用类似于java里面的length函数 table的存储是类似hashTable的kv形式. -- table.getn(tableName) 得到一个 ...

  7. Spark Standalone Mode 多机启动 -- 分布式计算系统spark学习(二)(更新一键启动slavers)

    捣鼓了一下,先来个手动挡吧.自动挡要设置ssh无密码登陆啥的,后面开搞. 一.手动多台机链接master 手动链接master其实上篇已经用过. 这里有两台机器: 10.60.215.41 启动mas ...

  8. 001-window下运行linux

    一.概述 前提:有条件的情况下,自行安装 在windows上模拟linux环境,主要有三种方法: 1.VMware等虚拟机,缺点:占用系统资源多,运行速度慢. 2.Cygwin等模拟环境,用windo ...

  9. Oracle获取当前session ID的方法

    1.使用v$mystat视图获取当前session的ID select sid from v$mystat; 2.使用userenv内部函数获取当前session的ID select userenv( ...

  10. 前端调试利器——BrowserSync

    此处记录一下踩过的坑 之前看的这个地址:http://www.browsersync.cn/ 也就是 BrowserSync的官网上面关于代理服务器的例子不管怎么试都不行 请看下例子 browser- ...