在小公司的话,总是会有要开发去导入历史数据(数据从旧系统迁移到新系统上)的时候。这个时候,现场实施或客户会给你一份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. head中的base标签:设置超链接的默认行为

    默认情况下,如果不指定超链接的target属性,则在当前窗口打开.使用head中的base可以制定超链接的base类,一切超链接都会继承它的属性. <html> <head> ...

  2. OC-bug: Undefined symbols for architecture i386: "_OBJC_CLASS_$_JPUSHRegisterEntity", referenced from:

    bug的提示: Undefined symbols for architecture i386: "_OBJC_CLASS_$_JPUSHRegisterEntity", refe ...

  3. pycharm 使用Git提交代码到Github

    pycharm 使用Git提交代码到Github pytharm 创建django项目,提交到github总是失败,在github创建项目拉下来后项目层级会多一层,为此查了一些资料,亲测如下方式可行. ...

  4. Java代码实现定时器

    一 import java.util.Timer; import java.util.TimerTask; public class time { public static void main(St ...

  5. skipped obstructing working copy

    svn update时报错,处理方法,将报错的文件夹压缩备份一下,然后删除报错的文件夹,重新update即可.

  6. 论文笔记系列-AutoFPN

    原论文:Auto-FPN: Automatic Network Architecture Adaptation for Object Detection Beyond Classification 之前 ...

  7. JS高阶---事件循环模式(事件轮询)

    大纲: 相关知识点: 主体: (1)模型原理 JS部分:初始化代码执行 WebAPIS:执行上下文对象(不是一个真的对象,而是一个抽象的虚拟对象,可以看做栈里的一个区域,包含很多对象) setTime ...

  8. Sentinel 学习资料

    Sentinel 学习资料 网址 官方github https://github.com/alibaba/Sentinel 官方中文文档 https://github.com/alibaba/Sent ...

  9. jmeter,学这些重点就可以了

    前言 对测试来说,jmeter应该是大家使用较频繁的测试工具之一,因为其开源.免费.轻量.功能强大,支持很多种协议,除了测功能,还能做自动化和性能测试: 据某机构的调查,性能并发工具中,jmeter市 ...

  10. 【使用篇二】SpringBoot整合Servlet(1)

    两种方式: 通过注解扫描完成 Servlet组件的注册 通过方法完成 Servlet组件的注册 一.通过注解扫描完成 Servlet 组件的注册 1. 编写Servlet类 /** * SpringB ...