像来大姨妈一样准时,一到出周报的日子,公司的数据保障群都会被炸掉,一群月薪2W+的成年分析狮在扔表情包掐架:
“@王大锤 你在做啥?占了系统99%的资源!”
“SQL完全跑不了,半个小时了一直在排队 T T”
“两小时的飘过。。”
“都是爸爸,给条活路吧”
“你SQL怎么这么耗费资源。。。”
“优化下自己的SQL吧”
“大神能帮我看看吗?我可能学艺不精。。”
Anyway,反正只要被@的不是我,看了对话都挺乐,偶尔点进@王大锤的头像,一看工号,噢不出所料是新来不久的,偶尔也有比较好学主动的运营同学——其实挺敬佩。
把系统玩崩了不是罪,听我说:
SQL是世界上最好的语言,1天就能学会!
2W工资不是事儿,准备好了,开车!
适合读者
本系列初稿写于我入职商业分析师岗位恰好半年的时候,涵盖的内容至今仍然十分受用,常被询问到相关技巧,我会直接分享这篇文章给同事,简洁明了。以下人群曾是本篇内容的读者:
- SQL零基础的运营、产品经理
- 数据岗求职者
- 初入门的数据分析师
- 想提升SQL技能的数据分析师
内容目录
- MySQL安装使用
- SQL语法句式
- 全量表和增量表
- SQL表连接方法
- SQL内置函数与业务实操案例
1.聚合函数
2.窗口函数
3.日期函数
4.数学运算函数
5.字符串处理函数 - 实用高效但仅有不到20%的分析师才知道的骚操作
- 常见跑崩系统、跑崩情绪的SQL错误自查
MySQL安装使用
(适用于临渊羡鱼没有数据平台可操作的同学,已经入职公司有平台可以操作SQL的同学,本章节可以跳过)
- Step1. 在官网下载mysql-8.0.12-winx64.zip,解压到D:/Program Files
- Step2. 创建 D:Program Filesmysql-8.0.12-winx64my.ini 配置文件,my.ini内容如下:
[mysql]#默认字符集default-character-set=utf8[mysqld]#设置3306的端口port=3306#mysql的安装目录basedir=D:program Filesmysql-8.0.12-winx64#mysql数据的存放目录datadir=D:program Filesmysql-8.0.12-winx64data#允许最大连接数max-connections=200#服务端字符集character-set-server=utf8#默认存储引擎default-storage-engine=INNODB
- Step3. 以管理员权限运行cmd,进入mysql的bin下,初始化,生成data文件夹
>mysqld --initialize-insecure (不设置root密码,建议使用)>mysqld --initialize (生成一个随机的root密码)
- Step4. 安装MySql服务
>mysqld -install
- Step5. 启动mysql
>net start mysql
- Step6. 登录mysql
>mysql -u root -p
如果Step3是采用命令
>mysqld --initialize-insecure,
则第一次登录时无需密码直接回车登录
如果Step3是采用命令
>mysqld --initialize,
则需要在D:Program Filesmysql-8.0.12-winx64data下面找到一个XX.err文件,
下图中所示即是自动生成的随机密码,登录时候输入这串随机密码就好了。
- Step7. 修改root密码
>mysql ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
附:Step3 之后全部过程如下所示。
由于不太习惯使用命令行,所以为了比较方便操作MySQL,我在官网上下载了MySQL Workbench。
注意:mysql workbench要与之前安装的mysql版本一致
安装好MySQL Workbench后,它会自动搜寻到之前安装的MySQL,点击MySQL Connections,输入之前设置的密码。
创建数据库:
创建表:可从零开始创建表,也可以从csv导入
从csv文件导入表
上传csv文件
查看表:鼠标浮动到表名称的右边,点击方形按钮,即可查看该表数据
在这个窗口,你会看到一行SQL代码:
SELECT * FROM mydata.ordertb;
翻译过来就是,从数据库:mydata中找到表:order的所有记录行,英文是不是很直白?So easy~~
(视点赞评论数量,再决定是否更新)