第五週:MySQL資料庫
首先,先了解一下資料庫的基本概念要點:
資料庫是資料儲存的集合,表示資料結構化的資訊
列儲存表中的資訊
行儲存表的明細
主鍵是表中的唯一標識
主鍵不具備業務意義
在實際操作中,對錶的主鍵不做強制性要求,但是建議設立
主鍵必須唯一
每行必須有一個主鍵,不可為空
主鍵的值不可被修改
主鍵值被刪除後不可重用
表A的主鍵,可以作為表B的欄位,此時不受約束
資料庫的基本型別(最基礎的):char--文字 int--整數 float--小數點 date--到日的日期 timestamp--精確到秒或者毫秒
資料庫的實際操作:
MySQL的安裝略,直接按照網上教學視訊逐步安裝即可。(這裡面寫到幾個本人安裝踩到的比較低階的坑,對我一個嘎嘎新的小新手來說是坑,就是在裝win7的本的時候一次完成,基本沒什麼,在裝桌上型電腦的win10的時候,第一次裝的時候沒有workbench,重灌之後發現依然部分報錯,原因是沒有將原有檔案刪除乾淨,再後來裝的時候,仔細看了一下每一步,確定有workbench的時候,就正常裝好了。)接下來開啟workbench進行操作。
點選新建資料庫
建立一個表,對錶進行命名,建議養成好的習慣在註釋的地方進行備註,以便日後表多的時候或者別人使用的時候更好的瞭解內容。
資料編碼先擇UTF8形式的
將需要的欄位輸入進區,並調整欄位的值型別,可設定主鍵。
再將表格匯入資料庫表內(建議.csv格式的,前面提到過為什麼,因為Excel本身會有很多形式)
此時在匯入資料的時候有2中方法:
1.用workbench介面直接匯入,有點是互動性強易掌握,缺點是速度會慢需要等待。
2.直接寫程式碼的形式,有點是執行很快,缺點是程式碼需要自己一點點寫進去。(在資料量較大多行的情況下,建議直接用程式碼形式載入)
【注意】載入資料是別的編碼例如jbk形式的,匯入進去的時候就會出現亂碼的情況,當資料庫選擇的是UTF8的時候,匯入的資料也應是utf8才可。
解決方式:將Excel另存為utf8形式的.csv檔案匯入即可。
匯入的過程中會直接把表頭匯入進去,直接選擇刪除行即可。
需要注意的是:
有的時候文字過長~長出了文字限定的45,這時候將需要進行修改將45變大,否則會報錯。
匯入後檢查無誤建表儲存。
【MySQL語句】
1.核心:select查詢語句
select*form data.表名稱
*為萬用字元,代表全部
2.limit 100 限制搜尋100條資料,查詢100行
執行兩條sql語句的話,結束時用“;”進行結束
點選儲存,可將查找出來的資料進行匯出生成。
3.order by 欄位 desc
將欄位進行升序排列
加desc為降序排列
4.過濾功能where命令
where 欄位=過濾欄位
邏輯關係符號“=”“>”"<"
between 數值 and 數值:在兩個數值之間
in(“欄位”,“欄位”)特定的條件篩選兩個欄位的內容
“!=”不等於
“<>”不等於
not in (“欄位”,“欄位”)過濾掉兩個欄位的內容
多條件查詢 加and 連結 and 欄位=“”
or 或者
多重巢狀
where city=“上海”
and education=“本科”
or work=“1-3年”
【注意】條件順序
where city=“上海”
and (eudcation="本科"
or work =“1-3年”)
執行邏輯為()內進行優先進行
模糊查詢
where
欄位 like “%模糊詞%”:過濾包含模糊次的
%模糊詞:以模糊詞結尾的
模糊詞%:以模糊詞開頭的
進行分組
group by 欄位
【例項應用】
select 城市 ,count(城市ID)form data.表名
group by 城市
執行後:城市分組對應的城市ID進行計數的數量和
distinct去重
【group by 分組的高階用法】
having單純針對分組的過濾
新增佔比
as 欄位別名化將過長複雜的程式碼進行替代
結果是一樣的,但是,不能用於邏輯出發的運算,因為不能識別,不能直接用於select,但是可以在where,group by 的層面進行使用
【函式】
1.拆分技巧
left與Excel基本一致
locate()與Excel裡面的find一樣
寫巢狀的時候,建議一步一步寫,分步驟走
支援中間擷取函式substr
效果等同於上面求出薪資的上線和下線,但是“8K以上”這樣的資料就無法進行處理。
子查詢
上案例可視為一個tab進行查詢
可以進行巢狀,給表新增別名
就可以直接引用別名 bottom top 等等
資料清洗
計算為順序計算
調整一下讓程式碼優雅一些,並且有別名執行起來效果較好。
子查詢的欄位要保持一致,否則會報錯
跨表分析,使用子查詢
得到的並不是全部的明細欄位,通過用jion可以將兩張表進行關聯。
載入萬條以上的資料需要使用命令列的方式:
開啟MySQL 5.7 Command Line Client
路徑可以直接拖拽進去
指定分割符,否則會報錯
【時間操作】
進行格式的改變
MySQL可連結Power BI 進行使用,在使用的過程中,建議先將語句寫好,再在Power BI中執行得出想要新增欄位和內容。不建議直接在Power BI上面直接新增進行,因為前者為伺服器直接執行後再Power BI中顯示結果,後者則是考量自身電腦的效能。
多多結合實際進行練習,或者去課程提供的素材晚上去刷題進行聯絡。祝看到筆記的所有人都能熟悉掌握MySQL。