在前两波中,已完成了Excel与Sqlserver的查询和上传功能,但难免许多临时的或更深入地操作数据库需要用Sql语句来操作,对一般用户电脑里,不可能有条件轻易安装一个数据库客户端软件,就算安装了对其中烦多的功能操作也不胜任。

开发一个简单的接受SQL语句对数据库进行访问操作就有点必要,当然这个落脚点放到Excel上是很不错的选择,毕竟所有用户电脑都有安装Excel。

并且在Excel上批量构造SQL语句也是容易的事,若有数据需要从数据库中导出,Excel作为装载小量数据并进行后续分析的容器是最佳选择,故今天给大家献上在Excel上向Sqlserver发送SQL命令并执行的功能。

使用场景

虽然操作数据库的任何操作都可以最终转换为写特定的SQL语句去操作,但不代表用SQL语句去操作是最佳的选择,就算专业的数据库开发维护人员,对一大坨的SQL代码也没几个能表示写得快而准无差错。

在Sqlserver数据库上,唯SQL语句更是要命的,微软自始以来就是以用户体验著称,让用户可以更低的成本操作数据库,微软自家出了SSMS数据库管理工具,许多的数据库的操作都可以落实为界面可视化操作如:新建数据库、数据表、视图,增删更改表字段类型等,都是界面化无比友好地操作,甚至可以自动生成所需的SQL语句简单小改一下即可达到想要的效果。

新建表操作

选择某个数据库对象,丰富的右键快捷操作

因此,对数据库开发管理者来说,在Excel上使用SQL语句访问数据库并不存在很大的方便性,以下是我个人想到的一些有必要在Excel里使用SQL语句访问数据库的场景。

执行存储过程或临时SQL查询返回数据表

在第19波中,已经演示过让用户在Excel上轻松地向Sqlserver发出查询,并且可使用Excel自有的自动筛选界面友好无痕地实现条件查询操作。

但此功能有部分场景未能涉及,如返回的表数据结构来源复杂,使用视图的方式进行大量嵌套、子查询性能有瓶颈,需要用到存储过程来实现(存储过程可以有许多中间步骤,生成临时表等操作,避免了直接查询带来的性能问题)。

同时某些数据返回不能直接用视图,需要用存储过程做一些复杂处理。此时有必要让Excel也可以使用存储过程查询所需数据。

在带参数的存储过程中,还需要教导用户理解参数怎么个输入和修改,让用户有能力实现类似条件查询的效果,不用一次性返回过多的数据源让Excel无法招架住。

执行存储过程或执行作业,手动调度运行数据ETL

当用户使用第20波手动导入了新的数据到Sqlserver上,可能某些用户需要的结果表数据,依赖于当前上传的表数据,而不以视图的方式来关联上传表数据,而是以存储过程的方式进行运算后再返回结果表,此时有必要让用户可以手动执行存储过程,生成新的结果表数据,再用第19波提及的方法,自助式地把所要的新的结果数据取回。

另一方面,如果新的结果表数据不是依赖用户上传的数据,而是依赖生产系统里的实时数据,如查看截止到当前的订单数据。

一般数据仓库里的数据非实时数据(实时生产性数据与分析所需的历史分离是较好的选择,减少对生产数据库的大批量数据查询时的负荷,从而保障生产数据库的稳定性)

一般的数据ETL操作只会在一天中某个时间进行(一般在凌晨业务系统不繁忙时),当前业务分析需要截止到现在的数据,此时需要手动执行ETL操作,一般调用一下Sqlserver的作业即可,此时若要把此需求返回给IT人员操作,沟通成本太大,IT人员也不乐意随时去配合这种临时性的任务。

此时若用户可以自行执行这些任务,就可以完美解决了,所以IT人员给用户一段SQL语句,然后授予其权限,用户只需简单单击按钮即可完成,就是Excel催化剂开发此功能的一大刚需场景。

临时性地执行部分SQL语句

此部分一般是给专业IT数据库人员使用,一般用户不建议使用临时性的SQL查询,而是应该把需求提取IT人员,让IT人员编写好相应的SQL,并固定为存储过程、视图等对象,再由用户自行去运行以上两点提及的场景所要的任务。说句心理话,用习惯SSMS,没有几个人喜欢用其他的Sqlserver客户端,更不要说如此简陋的只支持运行SQL语句的客户端。

详细操作步骤

  • 点击功能区的【SQL执行语句】,打开以下窗体。

    SQL语句执行窗口

  • 填写服务器名、数据库名、用户、密码等信息,若想找寻已使用过的连接信息,可点击【选择历史连接信息】,从跳出的对话框中双击某一行记录获取。

    双击获取连接信息

  • 在下方左侧输入所要执行的SQL语句
    若需要对大段SQL语句进行格式化,方便更好地识别理解SQL内容,可点击中部的【格式化SQL】,此时左右两边都会出现格式化后的SQL语句,其中右侧会有关键字的高亮显示。程序最终执行的是左侧的SQL语句,右侧仅供可视化阅读。

  • 若对当前的SQL语句在日后其他时候复用,可对其进行保存下来,供下次直接调用使用。点击【保存当前SQL语句】,填写名称和备注信息,方便下次检索时查看。

    保存当前SQL语句

  • 若需要复用已使用过的SQL语句,点击【选择历史SQL语句】,即可打开历史保存过的SQL语句清单。双击某一行任一单元格即可引用此行的SQL语句到主窗口中。

    历史SQL语句查询

  • 在执行SQL语句时,区分有无返回结构表对应不同的执行按钮操作
    若执行的SQL语句,没有返回结果表时,使用【SQL执行-无返回表数据】,若有表数据返回,根据需要是新建智能表存储还是覆盖现有智能表,而选择【SQL执行-返回表数据-新建智能表】还是【SQL执行-返回表数据-现有智能表】。

有数据表返回的操作,原理上是通过Excel原生功能的访问Sqlserver的工作薄连接中的修改其连接字符串和查询SQL代码。
使用此方式的好处是,当用户想从Sqlserver抓取新的数据,无需重复以上的操作,只需点击鼠标右键刷新一下即可。

Excel工作薄连接信息

下次更新数据时只需刷新即可

总结

操作数据库最终的方式是向数据库发出SQL查询,但因为普通用户无法轻松掌握SQL语言,此时有必要用一些用户能够掌握的方式去辅助完成。第19波中着重是查询数据库表、视图信息,第20波是把Excel表数据上传至数据库中,此两部分已大大减轻了数据库开发管理者的日常工作。

同时今天的第21波里,更是无限开放了使用SQL语句对数据库进行操作的功能,理论上已经可以完成任何数据库所需的操作,但鉴于大部分在Excel上使用SQL语句操作数据库的可操作性不强或有更好的替代方案,也详细进行原因说明,把最有必要的部分着重演示说明了。

经过Excel与Sqlserver交互三步曲,已经大大地提升了普通Excel用户的数据处理能力,也极大的减轻了数据库开发管理者对用户日常数据需求的开发难度,专注于业务逻辑和SQL语句编写,最终向用户推送数据结果将变得十分简易。

系列文章

一文带你全面认识Excel催化剂系列功能
安装过程详解及安装失败解决方法
第1波-工作表导航
第2波-数字格式设置
第3波-与PowerbiDesktop互通互联
第4波-一大波自定义函数高级应用,重新定义Excel函数的学习和使用方法
第5波-使用DAX查询从PowerbiDeskTop中获取数据源
第6波-导出PowerbiDesktop模型数据字典
第7波-智能选区功能
第8波-快速可视化数据
第9波-数据透视表自动设置
第10波-快速排列工作表图形对象
第11波-快速批量插入图片
第12波-快速生成、读取、导出条形码二维码
第13波-一键生成自由报表
第14波-一键生成零售购物篮分析
第15波-接入AI人工智能NLP自然语言处理
第16波-N多使用场景的多维表转一维表
第17波-批量文件改名、下载、文件夹创建等
第18波-在Excel上也能玩上词云图
第19波-Excel与Sqlserver零门槛交互-查询篇
第20波-Excel与Sqlserver零门槛交互-数据上传篇
第21波-Excel与Sqlserver零门槛交互-执行SQL
第22波-Excel文件类型、密码批量修改,补齐Power短板

关于Excel催化剂

Excel催化剂先是一微信公众号的名称,后来顺其名称,正式推出了Excel插件,插件将持续性地更新,更新的周期视本人的时间而定争取一周能够上线一个大功能模块。Excel催化剂插件承诺个人用户永久性免费使用!

Excel催化剂插件使用最新的布署技术,实现一次安装,日后所有更新自动更新完成,无需重复关注更新动态,手动下载安装包重新安装,只需一次安装即可随时保持最新版本!

Excel催化剂插件下载链接:https://pan.baidu.com/s/1gC6joqGY_SIg_yONga9PaQ
因插件使用VSTO开发技术完成,插件的安装需要电脑满足相关的环境配置才能运行,且需可连接外网的方式实现自动更新机制,若下载安装过程中有任何疑问或需要离线版安装等,尽量不单独私聊询问,加QQ群可高效解决(群内已汇集了VSTO开发、Powerbi技术、Sqlserver商业智能等方面的国内顶尖大牛人物,进群的好处不用多说了)

取名催化剂,因Excel本身的强大,并非所有人能够立马享受到,大部分人还是在被Excel软件所虐的阶段,就是头脑里很清晰想达到的效果,而且高手们也已经实现出来,就是自己怎么弄都弄不出来,或者更糟的是还不知道Excel能够做什么而停留在不断地重复、机械、手工地在做着数据,耗费着无数的青春年华岁月。所以催生了是否可以作为一种媒介,让广大的Excel用户们可以瞬间点燃Excel的爆点,无需苦苦地挣扎地没日没夜的技巧学习、高级复杂函数的烧脑,最终走向了从入门到放弃的道路。

最后Excel功能强大,其实还需树立一个观点,不是所有事情都要交给Excel去完成,也不是所有事情Excel都是十分胜任的,外面的世界仍然是一个广阔的世界,Excel只是其中一枚耀眼的明星,还有其他更多同样精彩强大的技术、工具等。Excel催化剂也将借力这些其他技术,让Excel能够发挥更强大的爆发!

关于Excel催化剂作者

姓名:李伟坚,从事数据分析工作多年(BI方向),一名同样在路上的学习者。
技术路线从一名普通用户,通过Excel软件的学习,从此走向数据世界,非科班IT专业人士。
历经重重难关,终于在数据的道路上达到技术平原期,学习众多的知识不再太吃力,同时也形成了自己的一套数据解决方案(数据采集、数据加工清洗、数据多维建模、数据报表展示等)。

擅长技术领域:Excel等Office家族软件、VBA&VSTO的二次开发、Sqlserver数据库技术、Sqlserver的商业智能BI技术、Powerbi技术、云服务器布署技术等等。

2018年开始职业生涯作了重大调整,从原来的正职工作,转为自由职业者,暂无固定收入,暂对前面道路不太明朗,苦重新回到正职工作,对Excel催化剂的运营和开发必定受到很大的影响(正职工作时间内不可能维护也不可能随便把工作时间内的成果公布于外,工作外的时间也十分有限,因已而立之年,家庭责任重大)。

和广大拥护者一同期盼:Excel催化剂一直能运行下去,我所惠及的群体们能够给予支持(多留言鼓励下、转发下朋友圈推荐、小额打赏下和最重点的可以和所在公司及同行推荐推荐,让我的技术可以在贵司发挥价值,实现双赢(初步设想可以数据顾问的方式或一些小型项目开发的方式合作)。)

转载于:https://www.cnblogs.com/ExcelCuiHuaJi/p/10737377.html

个人永久性免费-Excel催化剂功能第21波-Excel与Sqlserver零门槛交互-执行SQL语句篇...相关推荐

  1. 个人永久性免费-Excel催化剂功能第22波-Excel文件类型、密码批量修改,补齐PowerQuery短板...

    Excel的多工作薄.多工作表批量合并功能,Excel用户很多这方面的使用场景,也促使了各大Excel各大插件们都在此功能上有所开发,体验程度不一,但总体能够满足大多数的应用场景,本人之前也开发个单独 ...

  2. 个人永久性免费-Excel催化剂功能第55波-Excel批注相关的批量删除作者、提取所有批注信息等...

    Excel里的批注,许多人很喜欢用,但批注真的值得我们大量使用吗?批注的使用场景在哪里?这些问题可能更值得花时间来思考下. 同样因为不规范地使用批注,也带出了一大堆的后续擦屁股的事情来,从批注中找回有 ...

  3. 个人永久性免费-Excel催化剂功能第35波-Excel版最全单位换算,从此不用到处百度找答案...

    全球化的今天,相信我们经常可以有机会接触到外国的产品,同时我们也有许多产品出口到外国,国与国之间的度量单位不一,经常需要做一些转换运算,一般网页提供这样的转换,但没有什么比在Excel上计算来得更为方 ...

  4. 个人永久性免费-Excel催化剂功能第20波-Excel与Sqlserver零门槛交互-数据上传篇

    Excel作为众多数据存储的交换介质,在不同的系统内的数据很少可以很连贯地进行整合分析,一般的业务系统都会提供导出Excel作为标配功能供用户使用系统内生成的数据. 此时最大的问题是,Excel很维去 ...

  5. 个人永久性免费-Excel催化剂功能第19波-Excel与Sqlserver零门槛交互-查询篇

    对频繁使用Excel的高级应用的尝试用户来说,绕不过的一个问题Excel的性能问题,对于几万条数据还说得过去,上了10万行的数据量,随便一个函数公式的运算都是一个不小的负荷,有些上进一点的用户会往Ac ...

  6. 个人永久性免费-Excel催化剂功能第28波-工作薄瘦身,安全地减少非必要冗余

    Excel催化剂在完善了数据分析场景的插件需求后,决定再补充一些日常绝大多数Excel用户同样可以使用到的小功能,欢迎小白入场,在不违背太多Excel最佳实践的前提下,Excel催化剂乐意为广大Exc ...

  7. 个人永久性免费-Excel催化剂功能第26波-正确的Excel密码管理之道

    Excel等文档肩负着我们日常大量的信息存储和传递工作,难免出现数据安全的问题,OFFICE自带的密码设置,在什么样的场景下才有必要使用?网上所宣称的OFFICE文档密码保护不安全,随时可被破解,究竟 ...

  8. 个人永久性免费-Excel催化剂功能第75波-标签式报表转标准数据源

    数据处理永远是数据分析工作中重中之重的任务,大部分人深深地陷入在数据处理的泥潭中,今天Excel催化剂再接再厉,在过往已提供了主从结构报表数据源的数据转换后,再次给大家送上标签式报表数据源的数据转换操 ...

  9. 个人永久性免费-Excel催化剂功能第83波-遍历文件夹内文件信息特别是图像、音视频等特有信息...

    在过往的功能中,有体现出在Excel上管理文件的极大优势,在文件的信息元数据中,有图片和音视频这两类特有的属性数据,此篇对过往功能的一个补充,特别增加了图片和音视频信息的遍历功能. 使用场景 在文件管 ...

最新文章

  1. Cypress USB开发文档列表(积累中)
  2. mysql vue 菜谱_vue+ java 实现多级菜单递归效果
  3. springboot整合mybatis分页插件
  4. crc生成多项式怎么算_利用system Verilog生成任意CRC多项式
  5. Lucene默认的打分算法——ES默认
  6. SCVMM 2012 R2---安装SCVMM 2012 R2服务器
  7. KOFLive Postmortem
  8. 如何在面试时保持冷静_如何保持冷静并成为安全工程师
  9. mybatis Table book.t_abmin not find
  10. 购买一台服务器安装 青龙面版 撸京豆 ~超详细~
  11. 【FPGA的小娱乐】tft显示屏生成信号辅助测试阵列
  12. 为什么技术开发者应该读一读《浪潮之巅》
  13. Thread、Runnable、Callable基本操作线程基本概念
  14. linux中ping命令详解,全面解析Ping命令
  15. 服务器安卓系统安装教程,云服务器安装安卓系统
  16. 如何运用Knald烘焙纹理来快速呈现材质纹理细节!
  17. 使用EF配合Linq语句进行查询
  18. siTOOLs Biotech中国总代理蓝景科信 riboPOOL植物通用核糖体RNA(rRNA)去除探针试剂盒——高效去除开花植物(被子植物)核糖体RNA
  19. 经典案例重点案例:点名表,JS正则验证全选、全不选、反选,点击可以实现三个功能,轮播图 字符串截取以及替换,图片切换
  20. 【ROS RIKIBOT 基础--使用系列 第八章节】超声波跟随、雷达跟随、手机APP建地图、视觉单线寻线

热门文章

  1. 工厂模式C++实现(三种工厂模式附详细注释)
  2. uva 10019 Funny Encryption Method
  3. 鹅肉是凉性还是热性 鹅肉怎么做好吃
  4. Python爬虫开发从入门到实战
  5. IDEA修改中文字体为微软雅黑
  6. 98% after emitting CopyPlugin Vue运行到98% after emitting CopyPlugin卡主不动
  7. htcm7刷linux,HTC One M7 怎么刷机?刷机图文教程 ?
  8. 成功的道路并不拥挤,别那么早放弃
  9. VBA小模板,跨表统计的2种写法
  10. 【Willy Susilo 学术报告】Public-Key Encryption with Multi-Ciphertext Equality Test in Cloud Computing