非技術(shù)出身的產(chǎn)品經(jīng)理,學(xué)會SQL也挺簡單的
編輯導(dǎo)語:產(chǎn)品經(jīng)理經(jīng)常需要提取一些數(shù)據(jù)進(jìn)行分析,除了用埋點(diǎn)的辦法之外,還可以學(xué)習(xí)SQL的方法進(jìn)行數(shù)據(jù)提??;本文作者分享了自身經(jīng)驗(yàn),關(guān)于如何學(xué)會SQL的詳細(xì)過程,我們一起來看一下。
在上篇文章:實(shí)踐復(fù)盤:產(chǎn)品經(jīng)理該怎么寫埋點(diǎn)文檔?,講了我是如何在小公司從 0-1 做的埋點(diǎn),也是我這半年多實(shí)踐的復(fù)盤。
不過,埋點(diǎn)最大的限制不是怎么做,而是公司的業(yè)務(wù)是否需要,以及是否有做和維護(hù)它的資源。
那么如果沒有埋點(diǎn),產(chǎn)品經(jīng)理該如何提取數(shù)據(jù),進(jìn)而做分析呢?
那自然是在數(shù)據(jù)庫,通過寫 SQL 來做了。
接下來,我會分享自己從 0-1 學(xué)寫 SQL 的心得,希望對你有所啟發(fā)。
一、怎么連接數(shù)據(jù)庫?
我們用的 Navicat Premium 這款軟件,它是一款數(shù)據(jù)庫管理工具,用它連接后,你可以從中看到各種數(shù)據(jù)的詳細(xì)信息。
不同公司會有不同的習(xí)慣,主要是看開發(fā)團(tuán)隊(duì)用什么,后面我也主要用 Navicat 做講解。
但不管你們公司用什么,一定要找對人來幫忙,千萬別悶頭自己捯飭。
工作中做事情講究的是效率,達(dá)成目的并取得結(jié)果,不要不要意思去問。
只要你提前想清楚:你要什么?結(jié)果是什么?那就可以了。
回到數(shù)據(jù)庫這件事,我們公司是由服務(wù)端開發(fā)和測試 leader 負(fù)責(zé)數(shù)據(jù)庫的維護(hù)。
對方告訴我需要下載并安裝軟件,以及郵件轉(zhuǎn)發(fā)給我了地址、賬號、密碼、端口后,只需要一步步照著做就行。
二、從 0-1 上手 SQL
回到我自己學(xué) SQL 的目的,主要還是為了拉取數(shù)據(jù)。
因此我繞開了看書、報課這種系統(tǒng)學(xué)習(xí)的方式,看了幾篇文章搞懂個大概之后,就直接上手練習(xí)。
做事不要太死板,要以最短的路徑達(dá)成自己的目的。
大家可以用sqlteaching的網(wǎng)站,邊學(xué)邊練;雖然是英文的,但也不是很復(fù)雜,況且咱們可以用谷歌的自動翻譯不是。
從學(xué)習(xí)到上手大概花了 2 天左右,接下來就投入到 Navicat 開始實(shí)操了。
1. Navicat 長什么樣?
下圖是我找了個網(wǎng)圖,這就是 Navicat 查詢部分的全貌。
對于產(chǎn)品經(jīng)理來說,只需要關(guān)注我上圖標(biāo)注的幾個地方就行,其他的可以不用管。
如果用上,那就直接去請教開發(fā)。
一杯奶茶、一頓火鍋,開發(fā)就是你的老師。
這里多提一句,不要擔(dān)心自己瞎操作會影響數(shù)據(jù)庫,你拿到的只有訪問和查看權(quán)限而已。
2. 剛開始寫,一定會遇到各種問題
相信我,無論你準(zhǔn)備的有多充分,在實(shí)際上手的時候一定會遇到各種問題,舉我的兩個例子:
1)不熟悉表結(jié)構(gòu),不知道要查的數(shù)據(jù)存在哪個表里
這個沒辦法,遇到就去問開發(fā)吧,集中詢問或者換著問都可以。
事后也就是一杯奶茶的事情,只要你帶著虛心的態(tài)度去,你會發(fā)現(xiàn)開發(fā)是很好相處的。
2)寫的 SQL 無法運(yùn)行,自己還找不出問題
先保存第一版 SQL ,然后捋捋思路重新寫一遍。
如果還是報錯,那就放棄吧,集中在午休前和下班前找開發(fā)幫忙看一遍。
不要讓他們直接寫給你,而是讓他們幫忙看看你寫的哪有問題。
因?yàn)槲野l(fā)現(xiàn),開發(fā)總會以一種神奇的、你沒見過的方式寫出一串 SQL ,然后能運(yùn)行出來結(jié)果,但這顯然不是你能學(xué)會的。
總之,要多向開發(fā)請教,同時記錄自己的問題,復(fù)用自己寫的 SQL ,很多問題都是相同的。
下圖是我在 Notion 上整理的思路,讓每一次實(shí)踐成為你的經(jīng)驗(yàn),你才能獲得持續(xù)的成長。
工具類的技能沒有別的技巧,就是投入實(shí)踐中遇到問題,解決問題。
三、SQL 只是手段,重點(diǎn)是你要解決什么問題?
做事情,一定要三思而后行,謀定而后動。
核心是為了避免后期返工,浪費(fèi)自己的時間。
因此,在用 SQL 查詢之前,我會從:業(yè)務(wù)場景 → 業(yè)務(wù)問題 → 數(shù)據(jù)支持 → 驗(yàn)證指標(biāo),進(jìn)行分析思考,并將它寫出來,如下圖:
以上 4 個維度是我習(xí)慣用的,這里也只是給大家提供一個思路,核心還是「想好再做」。
然后,就是用幕布梳理我要的表頭是什么,然后是需要哪些表,最后是表與表之間連接的鍵是哪個,如下圖所示:
我來簡單解釋下上圖:
- 列表:就是你想查詢字段,可以理解成列表的表頭。
- 表:逗號前是表的名稱,逗號后是要查詢的字段,以及表與表關(guān)聯(lián)的字段。至于顏色,是表與表之間連接的字段,也就是「主鍵(key)」。
- 范圍:就是你要查詢數(shù)據(jù)的范圍。
以上就是對上圖的說明,之所以這樣做,主要是我多表聯(lián)查出錯率比較高。
為了避免修正浪費(fèi)時間,不如明確了再做更省時間和精力。
不返工,就是最大的省時。
最后的查詢的語句如下圖:
以上就是 SQL 查詢的全流程,再往后就是導(dǎo)出到 excel 做二次處理,或者是數(shù)據(jù)透視了。
畢竟,數(shù)據(jù)庫提供的主要還是「查詢」功能,「分析」訴求還是要在 excel 上來做。
四、寫在最后
以上是我學(xué)習(xí) SQL,到能使用的全流程,之后就是不斷的實(shí)踐,提升自己的熟練度。
說實(shí)話,作為非技術(shù)出身的我,原本也是很恐懼、很抵觸這些。
但真正學(xué)下來,發(fā)現(xiàn)其實(shí)也沒這么難,反而覺得很有意思。
其實(shí),很多事情本身沒那么難,只是恐懼和懶惰在作祟罷了。
希望我的這篇文章,能引導(dǎo)你邁出第一步,那也是極好的~
作者:空;公眾號:小木盒產(chǎn)品記
本文由 @空 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載
題圖來自?Unsplash,基于 CC0 協(xié)議
感謝分享
向你學(xué)習(xí)與取經(jīng)!
Navicat Premium與MySQL功能是一樣的嗎?哪個好用一些?
用起來都差不多,還是要看公司用什么~
這個軟件傻瓜式安裝,不用配置很多環(huán)境,用起來都一樣的呀
mysql是數(shù)據(jù)庫,navicat是數(shù)據(jù)庫的管理軟件,功能肯定不一樣啊。MySQL的管理軟件windows平臺推薦sqlyog。