致產品運營人:這項增值技能最值錢!
產品運營er,你是不是經常因為查詢和分析不同維度的數(shù)據不便而煩惱?其實一些簡單的查詢需求,我們是可以通過SQL來做到的。所以,產品運營er還是學點SQL語句寫法吧,這樣就不用一直去麻煩開發(fā)大哥了。
在產品運營人員的日常工作中,經常需要查詢和分析不同維度的數(shù)據,而現(xiàn)有的數(shù)據分析平臺未必能滿足所有的查詢需求,這個時候難免要求助開發(fā)大哥。鮮花、贊、抱拳等成為QQ常用表情不說,查詢需求多了,還有可能會耽誤現(xiàn)有功能的開發(fā)。
但其實,一些簡單的查詢需求,我們完全可以自己用SQL做到。學會了它,不但可以“想什么時候查,就什么時候查”、“想查什么,就查什么”,還可以在CV上加上一句狂拽酷炫叼的“掌握基本的SQL語句,用于日常的業(yè)務數(shù)據查詢及分析”。
而對于學習任何一樣東西,實操都是最好的方式,這篇文章,就是手把手教大家,在實際的數(shù)據庫中,查詢工作中需要用到的數(shù)據。
相信大家通過不到1個小時的時間學習,就能掌握最基礎的SQL語句寫法。
在開始之前,先讓我們科普幾個名詞。
什么是MySQL?和SQL是不同的東西嗎?
我們經常會聽開發(fā)大哥說,“需要用MySQL查詢”,有時又說,“寫個SQL查詢語句”,那么這兩個是同一個東西嗎?
首先,我們需要科普三個名詞:
SQL:指一種結構化查詢語言,用于訪問數(shù)據庫。
SQL Server:是Microsoft 公司推出的關系型數(shù)據庫管理系統(tǒng)。
MySQL:是瑞典 MySQL AB 公司推出的關系型數(shù)據庫管理系統(tǒng)(目前屬于 Oracle 旗下公司。),是開源的。
那么,可以得知SQL是一種語言,而SQL Server和MySQL都是使用SQL語言的數(shù)據庫管理系統(tǒng)。其中MySQL是開源的,因此被更多程序員采用。
我們可以用SQL做什么?
——四個字,增刪查改。
而對于產品運營來說,最主要的就是查。
(千萬不要亂增刪改,否則從刪庫到跑路,說的就是你的故事了。)
掌握了以上基本知識,我們就可以不再對著一堆名詞眼花繚亂了。
下面,就到實際操作的步驟了,讓我們一起來吧。
一、連接數(shù)據庫、了解表結構
(1)下載Navicat軟件,作為開發(fā)大哥常用的查詢軟件,它體積小、操作易上手,網上有免注冊的版本,很容易搜到。
(2)打開軟件,點擊創(chuàng)建新的MySQL連接,問開發(fā)大哥要到我們業(yè)務數(shù)據庫的配置方式,包括用戶名、賬號、密碼等。
(3)成功連接,查看看里面的表和數(shù)據,這塊我們主要關注點有:
點開“表”一列,先粗略看看總有多少個表,內容大概是什么,對于有狀態(tài)碼的字段,可以問開發(fā)大哥要一份數(shù)據字典來對照理解。
判斷常用的表是哪些,一般面向產品運營人員的管理后臺都具備數(shù)據查詢功能,可以以此為依據——如支付系統(tǒng)的后臺,肯定有訂單查詢的功能,那么你可以試著去找找數(shù)據庫里的訂單表對應的是哪一個,和管理后臺相比,多了哪些字段。
二、實操階段
這時我們已經成功的連上了數(shù)據庫,并對表結構有一定了解,需要做的是根據日常的產品運營需求來查詢和統(tǒng)計數(shù)據了。
步驟如下:
1. 了解基本的查詢語句
前面提到,作為產品運營人員,只需要使用它來“查”即可,而“查”最常用到的就是以下幾個單詞的組合:
SELECT : 用于從具體的表中選取數(shù)據,如:
- SELECT 列名稱 FROM 表名稱
- SELECT * FROM 表名稱
FROM:同上,與SELECT搭配使用。
WHERE:用于增加查詢的限定條件,如:SELECT * FROM 表名稱 WHERE 查詢條件
AND 、OR:當查詢有多個條件時,如需滿足其中的一個或多個條件,就使用AND或OR,如想查詢4月廣東省所有成功訂單,那么查詢內容就包括廣東省和訂單狀態(tài)為成功這兩個限定條件:SELECT * FROM 訂單表 WHERE 廣東省 AND 訂單狀態(tài)=成功
另外,我們還需要了解幾個比較符號的基礎用法:=(等于),>=(大于等于),<=(小于等于),!=(不等于),>(大于),<(小于)。
2. 整理日??赡苡玫降臄?shù)據查詢需求
- 如:
- 本月新增了訂單量及訂單金額總數(shù)?
- 本月新增了多少付費用戶?
- 哪個省份的訂單量最多?
3. 開始寫查詢語句
首先,我們需要確認在哪一個數(shù)據表來查詢數(shù)據,以第一條為例,本月新增訂單量及訂單金額總數(shù),就需要我們從訂單表來查詢。
這個需求,翻譯成查詢語句就是:
查找(SELECT) 訂購條數(shù),訂單金額 從(FROM) 訂單表 條件是(WHERE) 本月創(chuàng)建 和(AND)訂單狀態(tài)=成功 和(AND) 訂購類型=新增
黑體部分就是需要我們填寫的:
- 訂購條數(shù):所有查詢條數(shù)的基本語句都是:COUNT(1)
- 訂單金額:使用SUM函數(shù)表示總數(shù),訂單表中金額一項為amount,因此是:SUM(amount)
- 訂單表:訂單表的英文名稱:pay
- 本月創(chuàng)建:訂單表中創(chuàng)建時間一項為:create_time,時間是4月1日之后,那就是:create_time>’2019-04-01 00:00:00′
- 訂單狀態(tài)=成功:訂單表中訂單狀態(tài)一項為:status,并在對應數(shù)據字典查看狀態(tài)的數(shù)字標識,如10000代表成功,則翻譯過來就是:status=10000
- 訂購類型=新增:訂單表中訂購類型一項為:order_type,新增對應的數(shù)字標識是:0,翻譯過來是order_type=0
因此,這句話的查詢語句就是:
SELECT COUNT(1) ,SUM(amount) FROM pay WHERE create_time>’20190401000000′ AND status=10000 和(AND) order_type=0
4. 運行查詢語句,大功告成
好了,我們接下來要做的就是驗收成果,在Navicat中選擇“新建查詢”,將我們寫好的語句復制進去,就可以得到運行結果了!是不是很簡單呢~
后記
上面就是使用SQL寫的最簡單的查詢語句,我們也可以在在菜鳥教程、w3school等網站上查看更全面的教程。
另外,在實際環(huán)境中勤加練習,是學習一門技能最快的方法。學會了之后,當我們再有查詢需求的時候,就可以不必麻煩開發(fā)大哥,而是嘗試自己解決問題了。
兩個字:棒呆!
本文由@Cu已掉線 原創(chuàng)發(fā)布于人人都是產品經理,未經許可,禁止轉載。
題圖來自Unsplash, 基于CC0協(xié)議。
可以說很詳細了
我桌面還有一本數(shù)據庫基礎。。服務端程序員送的,然鵝我還沒學 ?
先從最簡單的開始,書太厚了容易打擊人 ??
有木有正在學習my sql 的小白 ??
一起,是產品新手