如果问大家:“在日常用什么工具来处理数据?”,相信大部分的人都会说“Excel”,很显然Excel是我们日常必备的办公软件,但它并不是万能的,最明显的缺陷就是有行数的限制,对一些复杂的数据处理无能为力,Excel2007前的版本是支持65536行(2的16次方),之后是支持1048576行(2的20次方),但我们经常会遇到超过行数限制的数据,怎么办?别急,下面我教大家个方法来处理。
一、工具包安装:
“欲善其事必利其器”下面主角来了:
(1)MySQL
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle 旗下产品。MySQL也是当前最流行的关系型数据库管理系统之一。
官方网站:https://www.mysql.com/
下载后首先进行安装,需要注意的是找个大点的空间磁盘来存放:
安装完成后,桌面会出现一个管理工具图标:
我们将程序打开,点启动按钮:
如果显示成下面图片这样,说明我们已经成功安装了MySQL数据库。
(2)SQLyog
SQLyog 是一个快速而简洁的图形化管理MySQL数据库的工具,它能够在任何地点有效地管理你的数据库。
下载地址:https://pan.baidu.com/s/1qZ6izMk
密码:a449
下载后进行安装,选择默认即可:
打开SQLyog,点新建按钮:
随便输入一个新连接名,点击确定:
在密码处输入haosql,然后点击连接按钮:
OK,恭喜你,我们需要的“利器”全部安装完成,下面我们进行操作环节。
二、数据的导入方法:
我们准备了3个月的用户流量数据,每张表中的数据都在140万以上,我们要在MySQL中建立自己的数据库和表,并导入我们需要处理的数据。
(1)创建数据库
首先在MySQL中建立自己的数据库,在对象浏览器中点鼠标右键,调出快捷菜单,选择创建数据库:
在创建窗口中输入所建立数据库的名称,并按下图选择字符集与排序规则,点击创建按钮:
创建完成后,我们在对象浏览器中可以看到我们新建的数据库“mybase”,但它只是一个空的数据库,里面并没有数据表:
可以通过点击表前面的展开号,或在SQL编辑器中输入显示表命令来查看数据库中有哪些表。
使用SQL编辑器,需要在编写完命令脚本后执行所有命令操作:
(2)数据库导入
我们的三个TXT数据文件均存在D盘下:
表的结构为3个字段:
Subs_id varchar(20)--用户编号
Msisdn varchar(11)--手机号
Amt float--流量
注:如果想详细了解MySQL支持的数据类型请去百度下,很多讲解。
我们在对象浏览器中鼠标右键单击表,选择创建表:
然后根据表的结构进行输入,完成后点击保存:
在询问是否建立多个表时选择“否”:
可以看到对象浏览器中已经产生了我们想要建的表:
下面我们再通过复制表结构建立其余的两张表,右键刚建好的表,选择更多表结构->复制表格/结构/数据:
输入表名,选择仅有结构,然后点复制按钮:
建表完成后,我们在SQL脚本编写区输入导入命令:
点执行查询命令:
当执行完后信息窗口中会显示成功信息:
我们把12月数据也如上面方法导入到表中,导入后我们的数据准备工作就已经完成,当然这里只是对TXT文件的导入方法,SQLyog还构建了Excel、csv等文件的导入模块,还请大家自行了解。
三、简单的查询工作
数据已经准备完成,我们的想法是筛选3个月连续流量小于1G(1024M)的用户明细,我们在在SQL脚本编写:
运行后,得到所需的数据:
我们也可以计算一下这3个月用户的DOU:
运行后,得到所需的数据(数据量大时运行的时间相对较长):
我们可以将数据导出或复制,需要注意想得到全部数需要据去掉限制行的对号。
好了,用MySQL进行数据处理就介绍到这里,如果想深入学习,还需要大家多花些时间多进行实践练习才可以。
领取专属 10元无门槛券
私享最新 技术干货