用 Python 連結 Cloud SQL
Google Cloud Platform 學習筆記 — Day2
這篇文章將介紹如何透過 Python 對資料庫下指令,並透過 MySQL Workbench 檢視變化。
在 Google Cloud Platform 學習筆記 - Day1 中,我們介紹了如何在 GCP 上建立自己的資料庫。而今天我們希望透過 Python 對雲端資料庫下指令。
首先需要 import pymysql 套件、並設定 DB 的相關資訊:
完成基礎的設定後,我們就可以透過 pymysql 來建立與 DB 的連線啦,程式碼如下:
- line 2:連線到 MySQL 資料庫
- line 4:建立控制器 (游標) 來對資料庫下指令
- line 5–9:建立 Table 的 query
- line 12:利用 cursor 執行 query
- line 13:透過 commit 儲存改變
- line 15–16:關閉 cursor 與 connection (conn)
接著可以透過 MySQL Workbench 可以發現我們確實建立了名為 news 的 Table (欄位有 Date、Title、Type三項)。
表格建立成功後,緊接著就要匯入資料啦。我們先寫一支爬蟲程式,作為後續 Insert data 的來源,程式碼如下:
關於這段程式碼的介紹,有興趣的朋友可以參考 讓聊天機器人開啟爬蟲技能! 這篇文章。
簡而言之,上方程式碼可以幫我們爬取熱門新聞的標題和對應的新聞種類,並將其儲存到 list 物件當中。
準備完成後我們就可以將資料 Insert 到資料庫了,程式碼如下:
- line 5:Insert data 的 query
- line 7:取程式執行的日期作為時間標記
- line 9–10:透過迴圈重複執行 query 將資料輸入 DB 當中
- line 18–19:印出例外狀況 (錯誤) 的詳細資訊
執行後可以再回到 MySQL Workbench 查詢資料是否有 Insert 成功:
如果要透過 Python 查詢資料也是可以的,程式碼如下:
- line 12:透過 fetchmany(n) 取得多筆資料並存成 result
- line 13–14:透過迴圈一列一列印出資料
註:取值除 fetchmany 外,還有 fetchone 以及 fetchall 兩種。
結果如下:
進行到這邊,我們已經可以透過 Python 寫入 & 讀取資料庫。接著看一下資料該如何修改:
- line 9:將 Type 為 "鉅亨新視界" 的資料改為 "新視界"
再透過 MySQL Workbench 查詢修改是否完成:
最後來說明要如何刪除 Table 內特定的資料吧!程式碼如下:
- line 7:刪除特定資料列的 query
- line 7:將 Type 為 “美股雷達” 的資料刪除
再到 MySQL Workbench 中下 query 可以發現的確沒有 Type 為 “美股雷達” 的資料囉:
到這邊我們已經可以透過 Python 對雲端資料庫下指令囉!
感謝觀看。