在小公司的话,总是会有要开发去导入历史数据(数据从旧系统迁移到新系统上)的时候。这个时候,现场实施或客户会给你一份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. PhaseScorer:感慨高手写的代码就是精炼

    看懂了PhaseScorer的算法后,回想起前面看的算法和代码,感慨高手写的代码总是那么精炼,没有一句废话,多一句不行,少一句不行.明天来了写下PhaseScorer算法的实现:todo

  2. delphi FillChar的用法(转)

    delphi FillChar的用法(转) (2012-12-24 15:12:06) 转载▼ 标签: it 分类: delphi7 FillChar的用法(delphi) Fillchar是Turb ...

  3. Vue实战狗尾草博客管理系统第二章

    伙伴们出来啦,探讨各问题,关于项目中大量的表单,大家是怎么处理的? 本章主要内容如下:底层布局,路由配置,github仓库推送关联. 关联GitHub仓库 关联建立在github已创建账号的基础上 登 ...

  4. Django框架(二十三)-- Django rest_framework-视图组件

    一.基本视图 class PublishView(APIView): def get(self, request): publish_list = Publish.objects.all() bs = ...

  5. 关于VS2015 发布.net mvc 网站失败的问题

    问题:VS生成成功,发布失败,在“正在连接到***文件夹”处就不能继续了.. 项目开发告一段落,准备部署到服务器上进行最后测试,但是始终发布失败  生成成功,发布失败,没有任何提示信息 一开始以为是文 ...

  6. mysql-5..6.23-win64.zip安装及配置

    MySQL是一个小巧玲珑但功能强大的数据库,目前十分流行.但是官网给出的安装包有两种格式,一个是msi格式,一个是zip格式的.很多人下了zip格式的解压发现没有setup.exe,面对一堆文件一头雾 ...

  7. Redis 3.2.x版本 redis.conf 的配置文件参数详解

    [root@web01 blog]# egrep -v"#|^$" /application/redis/conf/6379.conf bind127.0.0.1 #绑定的主机地址 ...

  8. 虚拟机安装苹果macOS系统

    Windows10系统虚拟机vmware15上装macos系统 一.简要步骤: 1.准备软件. 2.关闭VMware服务: 3.解压unlocker,运行文件: 4.启动vmware,选择macOS镜 ...

  9. Rocketmq原理&最佳实践

    MQ背景&选型 消息队列作为高并发系统的核心组件之一,能够帮助业务系统解构提升开发效率和系统稳定性.主要具有以下优势: 削峰填谷(主要解决瞬时写压力大于应用服务能力导致消息丢失.系统奔溃等问题 ...

  10. JS高阶---为什么说JS是单线程执行的???

    大纲: [主体] (1)如何证明JS运行是单线程的? 上述代码执行顺序结果为:fn()→timeout →timeout 接下来对上述代码做下修改 执行结果如右图所示 接下来点击确认,关闭弹框,再往后 ...