数据分析只会MYSQL和EXCEL_像Excel一样使用SQL进行数据分析(1)

Excel是数据分析中最常用的工具,本篇文章通过mysql与excel的功能对比介绍如何使用mysql完成excel中的数据生成,数据清洗,预处理,以及最常见的数据分类,数据筛选,分类汇总,以及数据透视等操作。这里我们使用SQLyog工具进行操作。

157694318_1_20190330110613877

在开始之前先介绍几个先介绍几个需要了解的命令,包括显示数据库列表,选定数据库,显示数据库中的表以及创建视图。其中前三个命令可以浏览和定位要操作的数据库和数据表。第四个命令可以保持查询操作的结果。#显示数据库

SHOW DATABASES;

#选定数据库

USE 数据库名称;

#显示数据表

SHOW TABLES FROM 数据库名称;

#创建视图

CREATE VIEW 数据库名称 AS (SELECT * FROM ...);

1,生成数据表

第一部分是生成数据表,常见的生成方法有两种,第一种是导入外部数据,第二种是直接写入数据。 Excel中的文件菜单中提供了获取外部数据的功能,支持数据库和文本文件和页面的多种数据源导入。Mysql中同样支持导入外部数据和直接写入数据。

157694318_2_20190330110613955

导入外部数据

SQLyog提供导入数据的向导,按照界面的提示信息可以快速完成数据的导入工作。

157694318_3_20190330110613986

创建数据表

另一种方法是通过直接写入数据来生成数据表,excel中直接在单元格中输入数据就可以,mysql中通过下面的代码来实现。生成数据表包含两步操作,第一步创建字段,第二步输入数据。新生成的数据表一共有6行数据,每行有6个字段。在数据中我们特意设置了一些空值和有问题的字段,例如包含空格等。后面将在数据清洗步骤进行处理。#创建数据表字段

CREATE TABLE data1(id INT(10), Record_date DATE, city VARCHAR(255),age VARCHAR(255), category VARCHAR(255), price FLOAT(10));

SELECT * FROM data1;

157694318_4_2019033011061496#插入数据

INSERT INTO

data1(id, Record_date, city ,age, category, price)

VALUES

(1001, 20130102, 'Beijing ',23, '100-A', 1200),

(1002, 20130203, 'SH', 44,'100-B', 'null'),

(1003, 20130305, 'guangzhou', 54,'110-A', 2133),

(1004, 20130403, 'Shenzhen', 32,'110-C', 5433),

(1005, 20130501, 'shanghai', 34,'210-A', ''),

(1006, 20130603, 'BEIJING', 32,'130-F', 4432);

SELECT * FROM data1;

157694318_5_20190330110614127#创建数据表data2

CREATE TABLE data2(id INT(10),gender VARCHAR(255),pay VARCHAR(255), mp VARCHAR(255));

SELECT * FROM data2;

157694318_6_20190330110614174#插入值

INSERT INTO

data2(id, gender,pay, mp)

VALUES

(1001, 'male', 'Y',10),

(1002, 'female', 'N', 12),

(1003, 'male', 'Y', 20),

(1004, 'female', 'Y', 40),

(1005, 'male', 'N', 40),

(1006, 'female', 'Y', 40),

(1007, 'male', 'N', 30),

(1008, 'female', 'Y', 20);

SELECT * FROM data2;

157694318_7_20190330110614190

2,数据表检查

第二部分是对数据表进行检查,mysql中处理的数据量通常会比较大,我们无法一目了然的了解数据表的整体情况,必须要通过一些方法来获得数据表的关键信息。数据表检查的另一个目的是了解数据的概况,例如整个数据表的大小,数据格式和具体的数据内容。为后面的清洗和预处理做好准备。

数据维度(行列)

Excel中可以通过CTRL 向下的光标键,和CTRL 向右的光标键来查看行号和列号。mysql中使用特定的函数来查看数据表的维度,也就是行数和列数。下面是具体的代码。#查看数据条数

SELECT COUNT(*) FROM data1;

157694318_8_20190330110614236#查看数据表2的字段数量

SELECT COUNT(*) as column_num FROM information_schema.`COLUMNS` WHERE TABLE_NAME='data2';

157694318_9_20190330110614252

数据表信息

使用DESC命令查看数据表的整体信息,这里返回的信息比较多,包括列名称,数据格式和是否允许为空等信息。#查看数据表信息

DESC data1;

157694318_10_20190330110614283

查看空值

Excel中查看空值的方法是使用“定位条件”功能对数据表中的空值进行定位。“定位条件”在“开始”目录下的“查找和选择”目录中。

157694318_11_20190330110614330

Mysql中可以使用IS NULL来判断空值。在我们的数据表中要判断price为0的字段,下面我们分别给出判断数据表空值和0值的代码。#查看price为空的数据

SELECT * FROM data1 WHERE price IS NULL;#查看price为0的数据

SELECT * FROM data1 WHERE price=0;

157694318_12_20190330110614424

查看唯一值

Excel中查看唯一值的方法是使用“条件格式”对唯一值进行颜色标记。mysql中通过在字段前使用DISTINCT函数查看唯一值。

157694318_13_20190330110614455#查询单列唯一值

SELECT DISTINCT (city)FROM data1;

157694318_14_20190330110614486

查看列名称

Mysql中使用COLUMNS函数用来单独查看数据表中的列名称。#查看数据表列名称

SHOW COLUMNS FROM data1;

查看前3行数据

Mysql中LIMIT用来限定查询结果的输出行数,我们可以自己设置值来确定查看的行数。下面的代码中设置查看数据表的前3行数据。#查看数据表前3行

SELECT * FROM data1 LIMIT 3;

157694318_15_20190330110614533

下一篇文章,我们将介绍第3,4部分的内容,分别为请忽视清洗及数据预处理。请朋友们继续关注。

END

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值