iT邦幫忙

2022 iThome 鐵人賽

DAY 29
0
自我挑戰組

30天的獨立學習紀錄系列 第 29

DAY29 - 使用Python連接資料庫並更新及讀取資料表

  • 分享至 

  • xImage
  •  

前言

大家好啊~轉眼間已經是參賽的第二十九天了,在過一天就能完成鐵人賽了,加油 !!
昨天分享了packet header最後的部分,也就是控制封包傳輸,今天要記錄的是先前Python連接資料庫那一天的延續內容,其中包含資料表更新資料以及取出資料表資料並以程式印出資料,以下是參考學長整理資料,本人將其程式及資料庫建置流程跑過一遍,並記錄於此。


Python更新資料表 語法

這裡先複習一下Python如何連接資料庫。

Python連接SQL資料庫 語法

連結物件變數= pymysql.connect(host=‘伺服器位置’, port=3306, user=‘使用者名稱’, passwd=‘使用者密碼’, charset=‘utf8’, db=‘資料庫名稱’)

執行SQL 指令

with connect_db.cursor() as cursor:

新增資料到資料表 指令

以下新增三組分別為「Alan」、「John」、「Momo」的身高體重資料到資料庫「mypydb」中的「member」資料表。

sql = """
   INSERT INTO member (Name, Height, Weight) VALUES 
   ('Alan', 170, 78), 
   ('John', 185, 83),
   ('Momo', 183, 75)
   """

新增資料到資料表 語法

sql= """
INSERT INTO 資料表名稱 (欄位1, 欄位2, …) VALUES 
(資料_1, 資料_2, …), 
(資料_3, 資料_4, …) 
"""

以下是新增資料到資料表 完整程式。
https://ithelp.ithome.com.tw/upload/images/20221014/20152389SLOdsP8TIk.png

以下是由phpMyAdmin上查資料庫看顯示結果。
https://ithelp.ithome.com.tw/upload/images/20221014/20152389qmHEd82RAH.png


Python讀取資料表並印出 語法

選擇連接資料庫「mypydb」中指定的資料表「member」中的「Height」欄位。

sql = """
    SELECT Height FROM `member` 
    """

讀取資料表中資料,並印出。

 data = cursor.fetchall()
    print(data)

讀取和取出資料表資料 語法

指定member中所需查詢的資料筆數

  • 取出全部資料:cursor.fetchall()
  • 取出第一筆資料:cursor.fetchone()

指定member中所需查詢的指定欄位

  • 所有不分欄位資料: SELECT * FROM member
  • 取出各別欄位名稱資料: SELECT Height FROM member

以下是指定欄位(Height)並取出所有資料 程式顯示結果。
https://ithelp.ithome.com.tw/upload/images/20221014/20152389b97s2GjrnT.png

以下是指定所有欄位並取出所有資料 程式顯示結果。
https://ithelp.ithome.com.tw/upload/images/20221014/20152389boRii814zE.png

以下是指定欄位(Height)並取出所有資料 完整程式。
https://ithelp.ithome.com.tw/upload/images/20221014/20152389H0UpUPW4ic.png


上一篇
DAY28 - IPv4 packet header- 控制封包傳輸
下一篇
DAY30 - 使用Python更新及刪除資料表和鍵值簡介
系列文
30天的獨立學習紀錄30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言