热门文章> 数据分析教程:从菜鸟到大神 >

数据分析教程:从菜鸟到大神

36氪企服点评小编
2021-04-29 18:03
609次阅读

    从SQL的角度来看,数据库就是一个以某种有组织的方式存储的数据集合。我们可以采用数据库对数据进行有效的存储与管理,并运用数据库进行合理的处理与分析,使其转化为有价值的数据信息。什么是数据分析,如何快速上手数据分析呢?下面就由小编为您带来数据分析教程的相关介绍。

    理解数据库的一种简单办法是将其想象为一个存放数据的文件柜, 往文件柜里存放数据资料时,先在文件柜中创建文件,然后将相关的数据资料放入特定的文件中,这种存储某种特定类型数据的结构化的文件就称为表。每个表都有唯一的表名(在同一数据库中不能有两个相同的表名)。

   表由列组成,每一列存储着某种特定的信息,并且具有相应的数据类型。表中的数据是按行存储的,所保存的每个记录存储在自己的行内,并且应尽量保证每一行都有一列(或几列)能够唯一标识该行的主键。表中的任何列都可以作为主键,只要它满足以下条件:任意两行主键值不同、主键列不允许NULL值,且习惯上不更新或重用主键值。

一、什么是SQL?

   SQL(发音为字母S-Q-L或sequel)的全称为“Structured Query Language” (结构化查询语言),是一种专门用来与数据库沟通的语言,用以查询关系数据库表的内容,以及插入、更新和删除数据。SQL简洁易学,功能强大,灵活使用其语言元素,可以进行非常复杂和高级的数据库操作。

   SQL不是某个特定数据库供应商专有的语言,几乎所有主要的DBMS(数据库管理系统)都支持SQL,因此掌握该语言使你几乎能与所有数据库打交道。标准SQL由ANSI标准委员会管理,从而称为ANSI SQL。

   所有主要的DBMS即使有自己的扩展(提供执行特定操作的额外功能或简化方法),也都支持ANSI SQL。本教程主要使用标准SQL,提供的SQL示例代码在MySQL 5.7.19环境下测试通过,然而本教程所探讨的概念也适用于其他SQL环境。

二、下载与安装MySQL

   SQL不是一个应用,而是一种语言。因此,为了学习SQL,我们还需要一个支持SQL语句执行的应用程序。

   实际上,数据的所有存储、检索、管理和处理都是由数据库软件——DBMS(数据库管理系统)完成的。较为流行的DBMS包括MySQL、 Oracle、 Microsoft SQL Sever、 PostgreSQL等,以下主要介绍MySQL。

   MySQL是一个开源的关系型数据库管理系统,由瑞典MySQL AB公司开发,目前为 Oracle 旗下产品,是世界上最受欢迎的数据库管理系统之一。

数据分析教程:从菜鸟到大神数据分析

三、使用MySQL

   有两种方式使用MySQL。在安装MySQL时会自带一个名为mysql命令行实用程序,这是一个纯文本工具,可以用来执行任何SQL语句。另外,MySQL 官方发布了一个名为MySQL Workbench的可视化管理工具,用户可以在安装MySQL时一起选择安装,也可以独立下载安装。较为流行的MySQL数据库可视化管理工具包括MySQL Workbench、 Navicat、 phpMyAdmin、Sequel Pro等。在Windows平台学习SQL时,推荐使用MySQL Workbench。

(1)mysql命令行实用程序

  有两种方式使用mysql命令行实用程序。第一种方式是从开始菜单栏中打开MySQL 5.7 Command Line Client,输入密码,出现如下界面表示数据库连接成功:

   第二种方式:如果已经将MySQL Sever安装目录下的bin子目录加入到了windows的环境变量中,可以直接在命令行中输入mysql -u root -p 命令,回车后输入密码即可连接成功。如下图所示:数据库连接成功后,在mysql>提示下输入USE database 打开数据库,例如USE world就是打开world数据库。

   在mysql>提示下输入SQL语句,每条语句须以分号(;)结束。结果将显示在屏幕上。
输入\h可以显示可能用到的命令列表,输入\s可以显示状态信息(如MySQL版本信息)。
输入\q或quit可以退出程序。

(2)可视化管理工具 MySQL Workbench

    尽管我们可以在命令提示符下通过一行行的输入或者通过重定向文件来执行mysql语句,但该方式效率较低, 且由于没有执行前的语法自动检查, 输入失误造成的一些错误的可能性会大大增加。

   使用MySQL Workbench 可以通过可视化的方式直接管理数据库中的内容, 并且 MySQL Workbench 的 SQL 脚本编辑器支持语法高亮以及输入时的语法检查,方便我们学习SQL。可通过以下操作使用MySQL Workbench:

    运行MySQL Workbench。界面左下角列出了可用的MySQL数据库连接,可直接点击打开,输入密码便可连接。如果没有在此列出,可选择【MySQL Connections】右侧的加号按钮,创建新的连接。

  登陆成功后的Workbench界面概览如下图所示:

   其中,区域1显示的是数据库服务器中已经创建的数据库列表。区域2是关于数据库的操作列表。区域3是sql的编辑器和执行环境,区域4是执行结果的列表。

   输入SQL语句后,点击Execute(带有闪电图片) 或使用快捷键【ctrl+enter】运行SQL,将结果显示在下面。如下图所示:

四、导入样例表

  完成前面的安装与设定工作后,MySQL中已经有一个内建的范例数据库world。但这个数据库比较简单,为了更好地练习SQL语句,我们还需要做最后一项准备工作:导入样例表。后续教程将会基于此样例表编写各式SQL语句。

(1)样例表描述

   本教程采用著名畅销书Sams Teach Yourself SQL in 10 Minutes 一书中所提供的样例表。样例表描述的是一个随身物品推销商使用的订单录入系统,下图显示了5张表之间的关系:

    其中,Customers表存储所有顾客信息;Vendors表存储销售产品的供应商,每个供应商在这个表中都有一个记录,包含了供应商名字、地址、所在城市等数据元素,其中使用vend_id作为其主键;Products表包含产品目录,每行一个产品,并且借助vend_id(供应商的唯一ID)与供应商相关联;

   Orders表存储顾客订单,每个订单都有唯一编号(order_num列),且根据cust_id列关联到相应的顾客;OrderItems表则存储每个订单中的实际物品,每个订单的每个物品一行。对于Orders表的每一行,在OrderItems表中有一行或多行与之对应。

   每个订单物品由订单号加订单物品(第一个物品、第二个物品等)唯一标识。订单物品用order_num列与其相应的订单相关联。此外,每个订单物品还包含该物品的产品ID(把物品关联到Products表)。上图中表之间的连线便说明了表之间的关系。

(2)导入样例表

- create.txt包含创建5个数据库表(包括定义所有主键和外键约束)的SQL语句。
- populate.txt包含用来填充这些表的SQL INSERT语句。

导入步骤如下:
- 根据上述教程,运行MySQL Workbench,并连接到MySQL。新建一个数据库,点击【Create a New Schema】按钮,出现如下对话框。输入新建数据库的名称,选择【apply】


   在弹出的确认窗口中选择【Apply】及【Finish】。然后在SCHEMAS一栏中双击创建成功的tjsql,表示选中该数据库,可以看到tjsql一栏变为黑体。

   将create.txt中的内容复制粘贴到SQL窗口中,并选择执行,用以创建5个数据库表;
同样,将populate.txt中的内容复制粘贴到SQL窗口中并执行,用以填充5个数据库表。

使用SELECT * FROM Customers; 语句测试结果如下图表示导入成功。

查看数据库和表
(1)查看数据库

   在MySQL中可以建立许多数据库,当不知道可以使用哪些数据库时,可用MySQL的SHOW命令显示当前可用的数据库列表:

SHOW DATABASES;

显示当前服务器的所有数据库
1
2
3
4
在MySQL Workbench中输出结果为:

包含在这个列表中的可能是MySQL内部使用的数据库(如information_schema)。当然,你自己的数据库列表可能看上去与这里的不一样。

(2)选择数据库
在执行任何数据库操作前,都需要选择一个数据库,才能读取其中的数据。方法是使用USE关键字:

USE tjsql;

选择使用tjsql数据库
1
2
3
USE 语句并不返回任何结果。如果是在MySQL Workbench中运行该语句,可以在SCHEMAS一栏看到被选中的数据库名称变为黑体(与双击该数据库名称等效);如果是在mysql 命令行实用程序中执行该语句,则会显示输出“Database changed” 表示数据库选择成功。

(3)查看数据表
进入到某个数据库后,我们可以使用 SHOW TABLES;来显示该数据库有多少个数据表:

SHOW TABLES;

显示当前数据库下所有的表
1
2
3
   SQL作为当前使用最为广泛的数据库语言,已经成为数据工程师的必备技能之一。这份学习指南的第一部分介绍了数据库、SQL和MySQL的基本概念,完成了SQL环境的基本搭建。第二部分和第三部分介绍了如何使用SELECT语句进行数据查询,包括排序、过滤、分组、子查询等基本方法、函数的使用以及如何使用JOIN和UNION查询一次性跨多个表来访问相关数据。最后一部分还介绍了数据管理的基本操作,包括插入、更新和删除数据等。 以上就是小编为您介绍的数据分析教程,希望对您有所帮助。

[免责声明]

文章标题: 数据分析教程:从菜鸟到大神

文章内容为网站编辑整理发布,仅供学习与参考,不代表本网站赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请及时沟通。发送邮件至36dianping@36kr.com,我们会在3个工作日内处理。

消息通知
咨询入驻
商务合作