「Sqlserver」数据分析师有理由爱Sqlserver之二-像使用Excel一般地使用Sqlserver
大家一谈数据库,就觉得非常高深莫测,深不见底,非凡人敢去触摸。但Excel的话,没人敢说自己不会使用吧(相反一大堆人的简历上写着精通OFFICE所有软件套件)。换作其他非微软厂商的数据库,的确很容易产生这样的畏惧感,包括笔者在内,对其他数据库也是不敢靠近。但Sqlserver,出自微软之手,可以让你大为改观,请看下文一一述说。
相关阅读
「Sqlserver」数据分析师有理由爱Sqlserver之一-好用的插件工具推荐 - 简书 https://www.jianshu.com/p/637aba4aeee5
小小插曲
在微软系的产品系列中,大家都可以从网络上非常容易找寻得到,微软也是大放水,对盗版破解容忍度非常高。
但是其他厂商的产品,你可知道没这样的福气了,近期在做一个项目时,接触到SAP的产品,想下载一个其在PowerBI上使用的数据连接驱动,奇葩到搜索全网后,不止百度,连google都不能找到这些驱动,只能从其官网上下载,并且只能用商业用户的帐号体系才能下载到(不知道是否是管理员之类的高级帐号才能访问,没有细究)。
所以,对于非微软系的产品上手程度之复杂,从此也可一窥而知,连个软件都不提供,连练手的机会都没有,谈何学习呀,所以也不要指望他们从用户的体验角度能够做出多好的产品。
也谈微软系产品
用过Windows、OFFICE软件的人,都能感受到微软产品的细腻,无穷无尽的界面化操作,操作过程中的自提示,友好的向导功能带领新用户快速上手,并且配以非常详尽的官方文档和示例说明,全方位地掌握每个细节。
在Sqlserver上,也不例外,看完此篇,笔者相信你也会认可此篇所提到的观点:像使用Excel一般使用Sqlserver。
使用Excel是一种怎样的体验?
在OFFICE产品中,要数Excel的使用群体、使用频率最为广泛,这里说的Excel,其实也可类比在其他Word、PowerPoint等组件上。
Excel一款小小的数据处理分析小工具,蕴含了非常多的功能,大部分的功能都是提供了菜单化操作、结合鼠标、键盘快捷键,可以非常流畅地在数据海洋里遨游。任何一个新用户接触Excel,都不会产生太大的恐惧感。
随着学习的一步步加深,对现有的功能的重复性繁琐操作开始提出一些要求,能否帮我自动化一些来处理,这样就带出了宏和VBA的层面。
可以用录制宏的方式,记录当前的操作步骤,再结合一点点的VBA知识,用编程语言的变量、循环、选择结构等,将自动生成的宏代码略略加工一下,即可完成自动化的重复性工作,开始脱离界面的重复性机械操作。
没法达到宏和VBA的使用水平也不必沮丧,因为有一些走得更远的人,已经不止于让自己手头的工作自动化起来,还为大部分初中级用户做出了插件,让代码封装起来,直接回归界面化操作输出给普通用户使用。例如Excel催化剂插件就是很经典的案例。
且看Sqlserver的使用和Excel有多像
Sqlserver作为一款优秀的数据库软件,其使用的群体远不像普通人所定义的那么窄,不止于专业的软件开发者、数据库管理人员DBA才会使用得上,对于普通的数据工作者,其仍然有天然的亲和力,可以让类似Excel用户的群体来过渡使用。
几乎一切操作都可以界面化
访问Sqlserver服务器的方式,一般情况下是使用其客户端工具SSMS来完成(估计太优秀了,也没有什么第3方的客户端引起太大的关注,其他数据库产品倒有好多第3方客户端的出现,足见微软所做的产品之优秀)
在SSMS上操作Sqlserver,几乎所有的操作,都可以通过类似操作Windows、OFFICE软件那样,通过图形化界面,鼠标式完成。

上图上方的菜单栏、左侧的数据库对象树结构,通过菜单和对象树鼠标右键,几乎可以满足我们日常所需操作的任务。
当然一般来说,熟练之后,特别是写数据查询SQL,通过右侧的编辑区敲代码完成也不难,类似我们使用Excel时,对函数写得非常熟练,不想使用函数向导直接敲函数名、函数参数的体验差不多。
界面化操作也不代表需要掌握所有功能,也不代表每个功能有界面操作就很容易理解,就像学习Excel一样,有些功能如数据分析工具,规划求解等,虽然也是界面,但也需要深刻理解其实现原理才能真正用得好。Sqlserver的功能较Excel这样的大众工具软件更难理解,后面会再次写相关文章介绍以数据分析师的视角,最应该掌握什么功能,哪些功能投入产出比更高。
像录制宏一般地自动生成SQL语句
Excel里有录制宏功能,帮助我们快速学习VBA,在Sqlserver上,同样有类似于录制宏的界面操作实际对应的SQL脚本是什么的功能。




简单改造生成脚本自动化
有了以上的SQL自动生成后,理解好SQL语句的含义,哪些地方可以使用简单变量替换即可生成一条新的SQL命令,然后可以借助在Excel上拼接字符串的方式快速生成多条SQL命令,进行批量化操作。


更高级别的脚本自动化
数据库有存储过程,类似Excel的VBA代码过程片段的概念,可以通过编程语言的方式,写各种复杂的逻辑处理,最后封装成一个过程(方法),下次直接运行此过程即可实现批量操作。

在Sqlserver的存储过程中,可以使用几乎所有的T-SQL语句及命令,生成的结果甚至可以生成新的表数据,将数据导出到外部,数据大范围转换等等,结合代理作业的功能,更可以定时自动化开启。
结语
Sqlserver入门真心不难,对于数据分析工作者来说,无需像专业开发,数据库运维等掌握一大堆高深的知识,亦可轻松唯我所用,只用其对数据分析工作最精华的部分,相信一个正确的引导,可以让学习使用Sqlserver的过程,类似于学习使用Excel一般地愉悦,后续更多精彩,欢迎继续关注。
笔者未来聚焦在数据领域的分享,不限于Excel,会分享更多Sqlserver、dotNET、Azure、PowerBI等话题,升级数据分析的能力,欢迎继续关注。
「Sqlserver」数据分析师有理由爱Sqlserver之二-像使用Excel一般地使用Sqlserver的更多相关文章
- 「Sqlserver」数据分析师有理由爱Sqlserver之九-无利益关系推荐Sqlserver书单
在前面系列文章的讲述下,部分读者有兴趣进入Sqlserver的世界的话,笔者不太可能在自媒体的载体上给予全方位的带领,最合适的方式是通过系统的书籍来学习,此篇给大家梳理下笔者曾经看过的自觉不错值得推荐 ...
- 「Azure」数据分析师有理由爱Azure之一-Azure能带给我们什么?
前面我们以相同的方式从数据分析师的视角介绍了Sqlserver,本系列亦同样地延续下去,同样是挖掘数据分析师值得使用的Azure云平台的功能.因云平台功能太多,笔者所接触的面也十分有限,有更专业的读者 ...
- 「Sqlserver」数据分析师有理由爱Sqlserver之一-好用的插件工具推荐
在此系列中,笔者为大家带来一些以数据分析师视角去使用Sqlserver的系列文章,希望笔者走过的路能够给后来者带来一些便利. 背景介绍 在数据分析师的角色下,使用数据库更多的是为了从数据库中获取数据, ...
- 「翻译」Unity中的AssetBundle详解(二)
为AssetBundles准备资源 使用AssetBundles时,您可以随意将任何Asset分配给所需的任何Bundle.但是,在设置Bundles时,需要考虑一些策略.这些分组策略可以使用到任何你 ...
- 「翻译」Unity中的AssetBundle详解(一)
AssetBundles AssetBundle是一个存档文件,其中包含平台在运行时加载的特定资产(模型,纹理,预制,音频剪辑,甚至整个场景).AssetBundles可以表示彼此之间的依赖关系;例如 ...
- Solution -「构造」专练
记录全思路过程和正解分析.全思路过程很 navie,不过很下饭不是嘛.会持续更新的(应该). 「CF1521E」Nastia and a Beautiful Matrix Thought. 要把所有数 ...
- c#基础之异常处理及自定义异常 从SQLServer转储数据到MySQL
c#基础之异常处理及自定义异常 一.什么是c#中的异常? 异常是程序运行中发生的错误,异常处理是程序的一部分.c#中的异常类主要是直接或者间接的派生于 System.Exception类 ,也就是说S ...
- 曾经我是一个只会excel的数据分析师,直到我遇到了……
我是一个数据分析师. 准确来说我是一个当年只会excel数据透视表,就天不怕地不怕地来当数据分析师的人.当年的某一天,我的老板Q我: 小刘啊,我小姨子给了我一个全国市委书记的名单,你帮我看看,有什么规 ...
- 「数据分析」Sqlserver中的窗口函数的精彩应用之数据差距与数据岛(含答案)
上一篇介绍过数据差距与数据岛的背景,这里不再赘述,请翻阅上一文.此篇在Sqlserver上给大家演示1000万条记录的计算性能. 测试电脑软硬件说明 一般般的笔记本电脑,2017年7月,价格:4500 ...
随机推荐
- mysql自动安装教程说明
这里只说明了思路和方法 我们在安装程序里面可能需要安装的时候将mysql一起安装,那么我们就按照下面的顺序思路来. 首先我们安装的电脑上可能已经安装了mysql,所以我们的mysql服务就起一个名字, ...
- 利用POi3.8导出excel产生大量xml临时文件怎么办?
在实际项目中,经常会用到POI3.8来导出excel.而导出excel的时候,会因为残留大量以.xml结尾的文件而导致服务器存储空间急剧增长,最后导致系统挂了.为此,该怎么办呢? .xml后缀残留文件 ...
- 由TreeView 如何触发OnSelectedNodeChanged事件想到的与做到的
前提是每层的结点上设置了NavigateUrl OnSelectedNodeChanged事件好像失去了作用. 另外TreeView是没有AutoPostBack的!!!! 那么要如何触发OnSele ...
- 程序代写, CS代写, 代码代写, CS编程代写, java代写, python代写, c++/c代写, R代写, 算法代写, web代写
互联网一线工程师程序代写 微信联系 当天完成 查看大牛简介特色: 学霸代写,按时交付,保证原创,7*24在线服务,可加急.用心代写/辅导/帮助客户CS作业. 客户反馈与评价 服务质量:保证honor ...
- Spring如何解决循环引用
概念 什么是循环引用? 故名思义,多个对象形成环路. 有哪几种循环引用? 在Spring中存在如下几种循环引用,一一举例分析一下 注入循环引用(Set注入 注解注入) package c.q.m; i ...
- Python-基本数据类型(list,tuple)
一. 列列表 1.1 列列表的介绍 列表是python的基础数据类型之⼀一,其他编程语言也有类似的数据类型. 比如JS中的数 组, java中的数组等等. 它是以[ ]括起来, 每个元素用' , ...
- Hexo+NexT(四):Hexo站点及Next主题配置详解
采用Hexo及NexT搭建好网站以后,有些效果不是我们需要的,Hexo及NexT提供了强大的定制功能,本文章将要讲解的就是如何在对网站进行配置及调整,达到博主需要的效果. 本文章配置环境是Hexo 3 ...
- U盘刻录kali linux启动盘提示找不到镜像解决方案
选择“继续”后会来到步骤菜单,选择从shell启动,命令 df -m 查看当前磁盘挂载情况,看到 /media 目录 输入命令 umount /media 进行挂载然后输入 exit 退出
- spring boot 2.x 系列 —— actuator 服务监控与管理
文章目录 一.概念综述 1.1 端点 1.2 启用端点 1.3 暴露端点 1.4 健康检查信息 二.项目说明 1.1 项目结构说明 1.2 主要依赖 1.3 项目配置 1.4 查看监控状态 三.自定义 ...
- spring cloud 系列第7篇 —— sleuth+zipkin 服务链路追踪 (F版本)
源码Gitub地址:https://github.com/heibaiying/spring-samples-for-all 一.简介 在微服务架构中,几乎每一个前端的请求都会经过多个服务单元协调来提 ...