写给新人的数据库入门指南
- 游戏信息
- 发布时间:2025-07-31 21:18:09
此文是《10周入门数据分析》系列的第5篇。
想了解学习路线,可以先行阅读“10周计划”
公中号上已更新到第11篇,详情可见文末。
上周更新了两篇Excel学习,有读者反映写得不够实操。这里解释下,文字真的很难将每一步细化,不然真的要出一本书。文章更多是一个引路,告诉大家为什么要学这个,主要学什么,怎么学?深入的操作,还需大家业余加餐啊,已经尽量给大家留了材料了。
也有人提议,出个视频,不错!很赞!明年计划下。即使没有时间,我也会推荐一些我认为OK的视频让大家学习。
年底了,近几个晚上都在苦熬年终报告,各位写好了么?
好了,回到正文,本篇讲数据库知识:
经常有刚从事数据分析的职场萌新,问我做数据分析工作要学些什么,应该怎样规划学习路径。我会告诉他:如果你Excel还用的不溜的话,就先学学Excel,当你用Excel处理和分析一些小数据集没有问题的时候(具体表现就是:常用函数公式信手拈来,数据透视表,筛选,排序,图表绘制操作熟练),你就去学习SQL语言,然后用BI去分析去熟悉业务。然后到了一定阶段,你可以上手R或者Python。后面如果你能更进一步,可以去了解一些Spark等大数据框架。
为什么要学习Excel?
首先Excel是我们最常用的数据分析和处理工具,Excel的功能非常丰富,基本可以涵盖我们在之后在其它软件(SQL、BI、Python、R)中要学到的那些功能。
有的人可能会问,既然Excel这么强大,为什么还要学其它的工具?这是因为Excel是通过菜单的形式来进行操作的,很难实现自动化和功能复用,当然你也可以通过VBA来实现,用VBA也就是编程了,不过因为VBA这种语言学会了基本只能在office软件中使用,学习的投入成本和产出收益不成比例,不推荐学习,这是客观原因之一;另外就是Excel在处理比较大的数据集的时候,性能很差,并且经常崩溃。(虽然Excel2013及以上版本宣称可以容纳100+万条记录,但几万条数据就开始卡顿了)。
为什么Excel学完要学SQL?
客观原因是绝大部分数据分析岗都有SQL技能的要求。企业里面为了保证数据的安全性和管理的方便,数据都是统一存放在数据库中,从数据库中提取和查询数据需要使用SQL语言,甚至有的公司就是用SQL语言来做数据分析。
另外一个原因就是即使你先学了其它的工具,比如R,Python,甚至Spark等大数据框架,你会发现最后你还是得学习SQL。如果你先学习SQL,那么很多概念你都能在学习R,Python,Spark等更加复杂的工具之前弄清楚。对于后面的学习会有帮助。这就好比建房子,都是先打地基,然后一层一层的盖。
SQL语言的学习排在Excel之后,其它工具之前,还有一个很重要的原因就是,SQL可以在一定程度上帮Excel解决大数据集的问题,同时架起一个通往其它工具的桥梁。
关于数据库和SQL的学习,也是分为两篇,第一篇讲数据库以及表的概念。第二篇是SQL语句的掌握和数据库的操作。
一、数据库基础知识先谈一下我对数据库的理解。数据库顾名思义就是数据的集合,是由一张张数据表组成的。
放在物理实体上,是一堆写在磁盘上的文件,文件中有数据。这些最基础的数据组成了表(table),我们把它想象成一张Excel的sheet,如下图:
每一张表都有一个唯一标识,即主键,也就是ID。ID是数据库中重要的概念,叫做唯一标识符/主键,用来表示数据的唯一性。就相当于我们的身份证,是唯一的,有了身份证,就知道数据在哪了。
ID通常没有业务含义,就是一种唯一标识,每张表只能有一个主键,且主键通常是整数,主键一旦设立,值通常不允许修改。
数据库是表的集合。一个数据库中可以放多张表,我们给每张表命名,表与表之间能互相联系。联系就是数据能够对应匹配,正式名称叫联接,对应的操作叫做Join,我们想象成Excel中的vlookup。
比如上面两张图,左图是学生信息表,右图是老师信息表。左图的主键是学生ID,右图的主键是老师ID。细心的读者可能发现右图还有一个学生ID,这里的学生ID是专门用来联接用户表的,它并不是主键。只不过两张表通过学生ID这个唯一信息来关联。
但两张表关联也并不是信息能一一对应的,也会存在空缺的时候,比如:
那两表建立连接就会变成:
了解上面的概念,你就知道什么叫关系型数据库。简单说,它是由多张能互相联接的二维行列表格组成的数据库。在数据准备时,我们通常要建立表关联来分析。
关系型数据库是基于关系代数模型发展而来,常用的关系型数据库有SQL Server、MySQL、Oracle、DB2等,这个视企业使用为准,我们后续学习都以MySQL为主。
各关系型数据库(不感兴趣可跳过):
DB2: 关系型数据库, 适用于大型的分布式应用系统, 确实是非常非常好的数据库, 无论稳定性, 安全性, 恢复性等等都无可挑剔, 而且从小规模到大规模的应用都非常适合。但是使用起来觉得非常繁琐, 安装的时候要求颇多, 很多软件都可能和DB2产生冲突, 因为一般DB2都是安装在小型机或者服务器上的, 所以在PC上安装很费事儿。新建一个库需要设置很多东西, 分配各种各样的存储空间。
Oracle: 是目前市场占有率最大的数据库, 我在学习SSH的时候用的就是Oracle, 安装起来很繁琐, 而且居然程序文件有3G之多... 用起来非常方便, 对于我这样的初学者, 有很简单的配置, 对于要求很高的企业级应用, 也有很复杂的配置和管理方法, 有很强大的数据字典, 可以说是最实用的数据库了, 但是查了一下, 价格不菲...
MS SQL: 当初用的是2000和2005版, 这两个版本差了很多。2000的数据库做的不错, 程序很小, 操作简单, 功能较全, 算是各方面都很中庸的数据库吧, 是中型数据库, 我的毕业设计就是用MS SQL 2000做的。2005中加入了很多功能, 复杂多了, 有大型数据库的风范了, 而且价格也变高了, 个人觉得除非用的是Window Server 系统或者针对Microsoft产品, 否则不如用Oracle好。
MySQL: MySQL是一个很好的关系型数据库, 免费, 而且功能很全, 程序又小, 安装简单, 现在很多网站都用MYSQL, 在字段约束上做的差了点儿, 其他的都不错, 和MS SQL 用着差不多。
Access: 典型的桌面数据库, 觉得做个单机系统, 比如记账, 记事儿什么的还成, 在局域网里跑个小系统都够呛, 数据源连接很简单, 因为是Office的数据库, 所以Windows自带数据源。
更多关于数据库的知识,看一本《数据库系统概论》就够了。
二、尝试使用MySQL数据库如果还没有接触过数据库或者说SQL,推荐大家下载并安装MySQL数据进行尝试,MySQL数据库的下载安装比较简单,安装完成就可以使用。
可以访问MySQL官网进行下载,网址如下(这里给出的是Windows版下载地址):
「链接」
下载MySQL时,需要进行免费注册,注册页面是英文的。下载该工具后,点击运行,这个程序就能够联网自动为你安装MySQL,并自动进行配置。在安装过程中,需要你设置密码,自己设置一个登陆密码,并记住,下次登陆MySQL时,需要这个密码。
解压之后没有my.ini文件(我的端口设置的3308),截图中是我增加的。
管理员命令行:
在MySQL安装目录的 bin 目录下执行命令:
mysqld --initialize --console
得到如下结果:
看到有个警告,查了一下mysql建议使用utf8mb4
修改my.ini文件
警告没有了,上面打印了默认密码:nj>uUJkpH4/I
然后,安装服务:
mysqld --install MySQL8.0
因为这是电脑上第二个mysql 所以服务名改成了 MySQL8.0
启动服务:
net start MySQL8.0
修改初始密码
登录mysql之后执行:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
将MySQL和Excel或者其它数据分析工具连接起来
默认安装的情况下,有一个插件允许MySQL数据库和Excel相连接,试想一下,我们在MySQL数据库中通过SQL语言进行大量数据的处理和计算,将计算结果存放在特定的数据表中,再通过Excel连接上MySQL数据库,将数据读取到Excel中,用Excel进行分析并绘制图表,免去了将数据从数据库导出再导入Excel的麻烦,是不是就可以提高效率了呢?
后面会分享一篇通过ODBC驱动程序连接一些报表\BI工具来做分析的操作。
关于MySQL的学习推荐书籍《MySQL必知必会》。
关于学习计划近期,我的公众号【数据分析不是个事儿】在策划《10周入门数据分析》系列文章,教课书式手把手教大家入门数据分析。
本文是系列中的第5篇,公中号上已更新到第11篇。
可以戳下“了解更多”前往关注。
多重随机标签
怎么才能做好体智能老师 我的世界南瓜派怎么合成 轩辕剑之天之痕的全部剧情哪里有 造梦西游ol玲珑塔的boss有那几个可以不用打 电脑显卡多少内存不卡 药剂工艺炼金术士模拟器商人如何制作 大富翁7游戏风格 让人受益匪浅的人生感悟文案 qq2019旧版本835是什么 阿玛拉王国 惩罚哪个种族适合玩法师 你认为动漫传颂之物二人的白皇的后续剧情会怎么发展 饥荒怎么把远古祭坛搬到地上 有没有把远古祭坛搬到地上的方法介绍 孤胆英雄1的基本信息 游戏压力测试的意义 173cm男生最好看的体重 鬼泣巅峰之战16关怎么过 16关过关的技巧是什么 饥荒新手基地攻略 环比和同比有什么区别 21岁上大学晚吗 我的配置可以玩英雄萨姆3吗 早教app软件有哪些 lol英勇投弹手好不好 刀剑神域uw篇结局 武器打野带什么符文 魔兽世界暴风称地下监狱副本任务在哪领 中国移动咕咪阅读怎么取消 抢钱大作战 boiler room怎么样 战士双冲击波技能触发攻略 魔兽世界魔莲花怎么弄 元气骑士吸血鬼五星技能元气骑士吸血鬼五星技能是什么