个人永久性免费SQL执行

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

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

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

使用场景

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

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

个人永久性免费-Excel催化剂Excel与Sqlserver零门槛交互-SQL执行

个人永久性免费-Excel催化剂Excel与Sqlserver零门槛交互-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语句的客户端。

详细操作步骤

个人永久性免费-Excel催化剂Excel与Sqlserver零门槛交互-SQL执行

SQL语句执行窗口

个人永久性免费-Excel催化剂Excel与Sqlserver零门槛交互-SQL执行

双击获取连接信息

个人永久性免费-Excel催化剂Excel与Sqlserver零门槛交互-SQL执行

保存当前SQL语句

个人永久性免费-Excel催化剂Excel与Sqlserver零门槛交互-SQL执行

历史SQL语句查询

有数据表返回的操作,原理上是通过Excel原生功能的访问Sqlserver的工作薄连接中的修改其连接字符串和查询SQL代码。

使用此方式的好处是,当用户想从Sqlserver抓取新的数据,无需重复以上的操作,只需点击鼠标右键刷新一下即可。

个人永久性免费-Excel催化剂Excel与Sqlserver零门槛交互-SQL执行

Excel工作薄连接信息

个人永久性免费-Excel催化剂Excel与Sqlserver零门槛交互-SQL执行

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

总结

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

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

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

展开阅读全文

页面更新:2024-02-29

标签:永久性   视图   管理者   语句   场景   上传   操作   人员   方式   功能   数据库   智能   数据   用户   数码   历史   信息

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top