使用excel中的数据快速生成sql语句
在小公司的话,总是会有要开发去导入历史数据(数据从旧系统迁移到新系统上)的时候。这个时候,现场实施或客户会给你一份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语句的更多相关文章
- c#.net Excel中的数据导入到SQL数据库中
/// <summary> /// 从Excel 导入学生 /// </summary> /// <param name=&qu ...
- Excel中,用CONCATENATE函数生成SQL语句
1.语法 CONCATENATE(text1, [text2], ...)CONCATENATE 函数语法具有下列参数(参数为:操作.事件.方法.属性.函数或过程提供信息的值.):Text1 必需.要 ...
- plsql的快速生成sql语句设置
单 单击tool(工具)->的preferences(首选项) ,进入到首选项页面 在点击user interface 的editor下的autoreplace 的edit按钮 ...
- 如何把Excel数据转化成SQL语句-转
问题背景 在我们实际的程序开发.维护的过程中,很多时候都要和Excel打交道. 因为用户的数据很多时候是Excel存储的. 公司维护项目的时候,经常要帮客户导入Excel数据,这些数据很多,零 碎,而 ...
- 将表里的数据批量生成INSERT语句的存储过程
有时候,我们需要将某个表里的数据全部导出来,迁移到另一个相同结构的库中,这里可以采取一个简便的方法,通过一个存储过程批量导出数据并生成SQL语句,非常方便.存储过程如下: )) as begin de ...
- Excel数据生成Sql语句的方法
选中想要生成的列,套用表格格式,选中表包含标题的选项确定,然后在最右边的一列第二行处,点击函数功能,选择CONCATENATE,在文本里输入想要的结构即可 代码如下 复制代码 ,=CONCATENA ...
- sql 读取excel中的数据
select 列名 as 字段名 from openBowSet('MSDASQL.1','driver=Microsoft Excel Driver(*.xls);dbq=文件存放地址','sele ...
- 图解如何 将Excel里的数据导入到sql server数据库中
项目中,经常会碰到如何将Excel里的数据导入到sql server中的问题. 下面,图解如何实现导入Excel中的数据到sql server 2008 R2: Excel截图如下: 查询pub数据库 ...
- postman上传excel,java后台读取excel生成到指定位置进行备份,并且把excel中的数据添加到数据库
最近要做个前端网页上传excel,数据直接添加到数据库的功能..在此写个读取excel的demo. 首先新建springboot的web项目 导包,读取excel可以用poi也可以用jxl,这里本文用 ...
随机推荐
- 搞NDK开发
1.哪些场景下要用到NDK开发? 跨平台的库,如FFmpeg, skip,weex, 加固,防逆向 签名校验 图片压缩 音视频解码 OpenGL ES 高级特效 热修复 andfix 人脸识别 fac ...
- 8个有意思的JavaScript面试题
摘要: 神奇的JS系列. 作者:前端小智 原文:8个问题看你是否真的懂 JS Fundebug经授权转载,版权归原作者所有. JavaScript 是一种有趣的语言,我们都喜欢它,因为它的性质.浏览器 ...
- 【学习笔记】兄弟连LINUX视屏教程(沈超 李明)
发现自己的linux水平楞个瓜皮,找个视屏教程学习一哈 1 linux系统简介 1.1 UNIX和Linux发展史 unix发展历史:1969年,美国贝尔实验室的肯.汤普森开发出unix系统,1971 ...
- 简单使用:SpringBoot整合Redis
1.导入依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId> ...
- Nginx02(环境配置以及基本使用)
一:Nginx环境配置 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet ...
- C++学习视频和资料
我在学习c++时,比较迷茫,而且当时学完c++primer时不知道该学习什么, 犹豫了好久,最后找到了一些关于c++学习路线的视频,包含源代码,我感觉还不错,分享给大家. 下载地址 https://d ...
- JPA-save()方法会将字段更新为null的解决方法
今天在开发上碰到一个问题,在做页面展示的时候传给前端十个字段,前端修改了其中3个的值,所以只传了3个值给后端,其余字段默认为null,更新后其他7个字段在全部变为了空值. 在前端没法全量回传所有属性的 ...
- day33_8_15 并发编程4,线程池与协程,io模型
一.线程池 线程池是一个处理线程任务的集合,他是可以接受一定量的线程任务,并创建线程,处理该任务,处理结束后不会立刻关闭池子,会继续等待提交的任务,也就是他们的进程/线程号不会改变. 当线程池中的任务 ...
- html基础内容
HTML基础 1. HTML 标题 HTML 标题(Heading)是通过 <h1> - <h6> 等标签进行定义的. 2. HTML 段落 HTML 段落是通过 <p& ...
- Spring Batch 跑批框架
SpringBatch的框架包括启动批处理作业的组件和存储Job执行产生的元数据. 如果作为一个批处理应用程序的开发人员,你暂时没有必要跟这些组件打交道, 因为它们主要为我们提供组件支持的角色,但是您 ...