在小公司的话,总是会有要开发去导入历史数据(数据从旧系统迁移到新系统上)的时候。这个时候,现场实施或客户会给你一份EXCEL文档,里面包含了一些别的系统上的历史数据,然后就让你导入到现在的系统上面去。

且不说表数据结构的不同了,这个协调过程就能用大量的篇幅去说故事,这里只假设已经将别的系统上的历史数据整理成了适合导入当前系统的数据。如何高效地完成这项导入工作,就是这里讨论的议题:使用EXECL表格中的数据快速生成SQL语句。

因为导入数据就是往表里面插入新数据,因此用的是INSERT语句。

INSERT INTO TABLE(COLUMN1, COLUMN2, ...) VALUES(VALUE1, VALUE2, ...);

那么快速生成这些INSERT语句的秘诀是什么?答案就是EXCEL中的强大的公式和快速自动填充。

这里用一个简单结构的user表做一个简单的例子。

user表中有两个字段,一个是code,一个是name。

在给定的EXCEL中,这两个字段分别对应列C和列D,数据从第2行开始,那么我们就可以从第2行开始写,在第2行的最后新增一列,用于存放公式。

贴出公式来:

=CONCATENATE("insert into user(code, name) values('",C2, "','", D2, "');")

然后点击回车就会根据公式生成对应的INSERT语句了。

然后,重点来了,将鼠标悬停在当前公式单元格的右下角,当右下角变成加号时,往下拖动,系统会自动填充这些公式了。

最后把这些生成好的INSERT语句拷贝到控制台工具或数据库工具中去执行就好了,EXCEL中选中当前列往下所有有内容的单元格快捷键是【ctrl+shift+↓】,然后使用cv大法就行了。当EXCEL中存在成千上万条数据的时候,效率就体现出来了。

另外一个常见的问题是如果编写的语句过长,通常会提示使用&符号来连接的错误,这个时候只要使用&符号来连接字符串就好了。我相信很多人在一开始接触的时候如果遇到这个问题都是手足无措的,并不知道应该要怎么办,就连按照提示使用&连接符都做不到,或者是未正确使用&连接符。实际上,&连接符连接的每个字符串是有长度限制的,只要在一定的长度范围之内的字符串之间使用&连接符,就算正确使用&连接符了。

当然了,除了INSERT语句,也能写其他SQL语句,根据具体需求灵活变通就好了,重要的是要知道这个方法。

更多的,还能有很多的其他场景用得上,使用EXCEL处理数据这一项技能十分重要,有空还是要多学习这方面的知识。

"你所有经历过的难,有机会一定要告诉你爱的ta,让ta知道你爱ta,让ta有勇气去面对人生的兜兜转转。"

使用excel中的数据快速生成sql语句的更多相关文章

  1. c#.net Excel中的数据导入到SQL数据库中

    /// <summary>        /// 从Excel 导入学生        /// </summary>        /// <param name=&qu ...

  2. Excel中,用CONCATENATE函数生成SQL语句

    1.语法 CONCATENATE(text1, [text2], ...)CONCATENATE 函数语法具有下列参数(参数为:操作.事件.方法.属性.函数或过程提供信息的值.):Text1 必需.要 ...

  3. plsql的快速生成sql语句设置

    单 单击tool(工具)->的preferences(首选项)  ,进入到首选项页面 在点击user interface 的editor下的autoreplace 的edit按钮        ...

  4. 如何把Excel数据转化成SQL语句-转

    问题背景 在我们实际的程序开发.维护的过程中,很多时候都要和Excel打交道. 因为用户的数据很多时候是Excel存储的. 公司维护项目的时候,经常要帮客户导入Excel数据,这些数据很多,零 碎,而 ...

  5. 将表里的数据批量生成INSERT语句的存储过程

    有时候,我们需要将某个表里的数据全部导出来,迁移到另一个相同结构的库中,这里可以采取一个简便的方法,通过一个存储过程批量导出数据并生成SQL语句,非常方便.存储过程如下: )) as begin de ...

  6. Excel数据生成Sql语句的方法

    选中想要生成的列,套用表格格式,选中表包含标题的选项确定,然后在最右边的一列第二行处,点击函数功能,选择CONCATENATE,在文本里输入想要的结构即可  代码如下 复制代码 ,=CONCATENA ...

  7. sql 读取excel中的数据

    select 列名 as 字段名 from openBowSet('MSDASQL.1','driver=Microsoft Excel Driver(*.xls);dbq=文件存放地址','sele ...

  8. 图解如何 将Excel里的数据导入到sql server数据库中

    项目中,经常会碰到如何将Excel里的数据导入到sql server中的问题. 下面,图解如何实现导入Excel中的数据到sql server 2008 R2: Excel截图如下: 查询pub数据库 ...

  9. postman上传excel,java后台读取excel生成到指定位置进行备份,并且把excel中的数据添加到数据库

    最近要做个前端网页上传excel,数据直接添加到数据库的功能..在此写个读取excel的demo. 首先新建springboot的web项目 导包,读取excel可以用poi也可以用jxl,这里本文用 ...

随机推荐

  1. codeforces #592(Div.2)

    codeforces #592(Div.2) A Pens and Pencils Tomorrow is a difficult day for Polycarp: he has to attend ...

  2. vue-router简易的实现原理

    class VueRouter { constructor(options) { this.$options = options; this.routeMap = {}; // 路由响应式 this. ...

  3. Arcgis CreateFishnet工具,生成到FileGDB中要素类的格网大小不一致

    我的第一篇博客!哈哈 最近在做一些关于创建渔网的工作,发现一些问题,做个总结. 1.问题描述:如图1,设置好渔网的必要参数,输出目录为gdb里的矢量图层,(行列数比较大,渔网的地理范围较小),输出的格 ...

  4. Visual Studio Code 远程开发探秘

    摘要: IDE新时代! 作者:SHUHARI 的博客 原文:Visual Studio Code 远程开发探秘 Fundebug按照原文要求转载,版权归原作者所有. 在以前的文章 有趣的项目 - 在浏 ...

  5. JVM 对象查询语言(OQL)[转载]

    最近生产环境出现一个很奇怪的问题,测试环境无法重现,本地直连生产无法重现.于是用上 jmap + Java VisualVM 的 OQL (Object Query Language) 分析问题. 关 ...

  6. 05showLoading配置和 <text>标签的坑 如何发送请求 分享功能和懒加载

    14-电影-列表-需求分析 小程序里面取数据 没有冒号这么一说 加载动画 在对应页面 js文件中 showLoading你可以去看他的配置     // wx.showLoading() 应用在让用户 ...

  7. LOJ 510: 「LibreOJ NOI Round #1」北校门外的回忆

    题目传送门:LOJ #510. 题意简述: 给出一个在 \(K\) 进制下的树状数组,但是它的实现有问题. 形式化地说,令 \(\mathrm{lowbit}(x)\) 为在 \(K\) 进制下的 \ ...

  8. WIN10安装64位JDK10.0.2详细完整教程(图文)

    1.下载JDK 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html 1)如下图,点击红色箭头处: 2)如下图 ...

  9. django的几个常见命令、request请求取值形式、数据库连接、

    django基础知识薄弱点 几个常见的命令 #创建django项目 django-admin startproject mysite #启动django项目 python manage.py runs ...

  10. 人工智能头条(公开课笔记)+AI科技大本营——一拨微信公众号文章

    不错的 Tutorial: 从零到一学习计算机视觉:朋友圈爆款背后的计算机视觉技术与应用 | 公开课笔记 分享人 | 叶聪(腾讯云 AI 和大数据中心高级研发工程师) 整    理 | Leo 出   ...