Python x MySql

閱讀時間約 12 分鐘
pip install pymysql

資料庫連線

import pymysql
# 資料庫設定
db_settings = {
    "host": "127.0.0.1",
    "port": 3306,
    "user": "root",
    "password": "資料庫管理員密碼",
    "db": "test2022",
    "charset": "utf8"
}
try:
    # 建立Connection物件
    conn = pymysql.connect(**db_settings)
except Exception as ex:
    print(ex)
資料庫的連線建立完成後,要進行相關的操作,需要建立Cursor(指標)物件來執行,這邊使用Python的with陳述式,當資料庫存取完成後,自動釋放連線。
import pymysql
# 資料庫設定
db_settings = {
    "host": "127.0.0.1",
    "port": 3306,
    "user": "root",
    "password": "資料庫管理員密碼",
    "db": "test2022",
    "charset": "utf8"
}
try:
    # 建立Connection物件
    conn = pymysql.connect(**db_settings)
    # 建立Cursor物件
    with conn.cursor() as cursor:
      #資料表相關操作
        print("ok")
except Exception as ex:
    print(ex)

INSERT

import pymysql

# 資料庫設定
db_settings = {
"host": "127.0.0.1",
"port": 3306,
"user": "root",
"password": "資料庫管理員密碼",
"db": "test2022",
"charset": "utf8"
}
try:
    # 建立Connection物件
    conn = pymysql.connect(**db_settings)
    # 建立Cursor物件
    with conn.cursor() as cursor:
      #資料表相關操作
         # 新增資料SQL語法
        command = "INSERT INTO member(m_name, m_mail)VALUES(%s, %s)"
        cursor.execute(command, ("test", "1234@cc"))
        # 儲存變更
        conn.commit()
except Exception as ex:
    print(ex)

SELECT

import pymysql
# 資料庫設定
db_settings = {
    "host": "127.0.0.1",
    "port": 3306,
    "user": "root",
  "password": "資料庫管理員密碼",
    "db": "test2022",
    "charset": "utf8"
}
try:
    # 建立Connection物件
    conn = pymysql.connect(**db_settings)
    # 建立Cursor物件
    with conn.cursor() as cursor:
        # 查詢資料SQL語法
        command = "SELECT * FROM member"
        # 執行指令
        cursor.execute(command)
        # 取得所有資料
        result = cursor.fetchall()
        print(result)
except Exception as ex:
    print(ex)

Select 取得單筆資料 fetchone()

import pymysql
# 資料庫設定
db_settings = {
    "host": "127.0.0.1",
    "port": 3306,
    "user": "root",
    "password": "資料庫管理員密碼",
    "db": "test2022",
    "charset": "utf8"
}
try:
    # 建立Connection物件
    conn = pymysql.connect(**db_settings)
    # 建立Cursor物件
    with conn.cursor() as cursor:
        # 新增資料指令
        command = "SELECT * FROM member"
        # 執行指令
        cursor.execute(command)
        # 取得第一筆資料
        #result = cursor.fetchone()
        # 取得前五筆資料
        result = cursor.fetchmany(5)
        print(result)
except Exception as ex:
    print(ex)
Select 取得篩選資料 where
import pymysql
# 資料庫設定
db_settings = {
    "host": "127.0.0.1",
    "port": 3306,
    "user": "root",
    "password": "資料庫管理員密碼",
    "db": "test2022",
    "charset": "utf8"
}
try:
    # 建立Connection物件
    conn = pymysql.connect(**db_settings)
    # 建立Cursor物件
    with conn.cursor() as cursor:
        # 新增資料指令
        command = "SELECT * FROM member WHERE m_no = %s"
        # 執行指令
        cursor.execute(command, ("10",))
        # 取得所有資料
        result = cursor.fetchall()
        print(result)
except Exception as ex:
    print(ex)

UPDATE

import pymysql
# 資料庫設定
db_settings = {
    "host": "127.0.0.1",
    "port": 3306,
    "user": "root",
    "password": "資料庫管理員密碼",
    "db": "test2022",
    "charset": "utf8"
}
try:
    # 建立Connection物件
    conn = pymysql.connect(**db_settings)
    # 建立Cursor物件
    with conn.cursor() as cursor:
        # 修改資料SQL語法
        command = "UPDATE member SET m_name = %s WHERE m_no = %s"
        # 執行指令
        cursor.execute(command, ("cchaha", "10"))
      
        #儲存變更
        conn.commit()
except Exception as ex:
    print(ex)

DELETE

import pymysql
# 資料庫設定
db_settings = {
    "host": "127.0.0.1",
    "port": 3306,
    "user": "root",
    "password": "資料庫管理員密碼",
    "db": "test2022",
    "charset": "utf8"
}
try:
    # 建立Connection物件
    conn = pymysql.connect(**db_settings)
# 建立Cursor物件
    with conn.cursor() as cursor:
        # 刪除特定資料指令
        command = "DELETE FROM member WHERE m_no = %s"
        # 執行指令
        cursor.execute(command, ("10",))
        #儲存變更
        conn.commit()
except Exception as ex:
    print(ex)
即將進入廣告,捲動後可繼續閱讀
為什麼會看到廣告
40會員
130內容數
獨立遊戲開發紀錄
留言0
查看全部
發表第一個留言支持創作者!
吳佳鑫的沙龍 的其他內容
OpenCV 讀取圖片 原碼:https://reurl.cc/3354ZL 成果: OpenCV 本身有提供讀取圖檔的函數可用,讀取圖檔,只要呼叫 cv2.imread 即可將圖片讀取進來,以 cv2.imread 讀進來的資料,會儲存成一個 NumPy 的陣列。 將圖片讀取進來之後,可使用 c
「娜斯佳,可以知道虎嘯山誌的紙本資料放在哪嗎?」我想著若可以知道原始的紙本資料放在哪,那或許就可以知道更完整的資訊了。 「妳可以試著去圖書館找找吧!」娜斯佳背對著我說。 「只是妳可能只會看到一般給市民看的資料,這種有內幕的資訊…」 「可能要到市府內的檔案管理局才有辦法看到。」娜斯佳頓了一頓說。
「學姊~」當我下課,正要上車時,一道聲音從我後方而來。 「好久不見了。」我笑著看向前方奔跑過來的彤羽。 「我就知道學姊會來上課。」彤羽來到我跟前說道。 「我以為,妳會直接去子璇家。」 「本來是想這樣,可是想想我還是先回我住的那,整理好,再來這跟妳一起過去。」 「所以妳自己一個人回來?」 「彤羽?」
「妳們已經見過他了?」當我進房,將背包放置矮櫃沙發下時,開口問道。 「見過了,人應該還可以,就腦子不怎麼精靈。」子璇靠在沙發上無奈的說著。 「要我說,是呆呆的。」蕾雅補充的說道。 「怎了?」 「太年輕,雖然對答上沒什麼問題,但暗示他去當間諜監視劉莊主,暗示了老半天,一直聽不懂。」蕾雅回著我的話。
飯後蕾雅帶娜斯佳回房,而我則將我了解的人員資料,敘說給子璇知道。 「還蠻多人的...」子璇看著名單說著。 「妳覺得.. 我若跟高山族人說,他們可以自由選擇,看是要繼續留在家裡,或是離開生活,我爸他們會不會接受?」 「嗯...我想妳應該要先了解,他們當時被管束的理由,免得一自由就又搞出一堆事。」
隨後,我們便離開會客室,返回子璇的房間。路上,子璇也先請李老將虎嘯山資料傳過來。而我則聯繫小葉,麻煩他處理彤羽所需的東西。 「欸...原來我爸跟二叔、三叔他們是在那時加入那什麼黑派,替嚴老辦事的呀!」子璇像是發現什麼新鮮事般的說著。 「陳言是妳爸的名字?」 鈴~鈴鈴~ 「駭客朋友?」子璇疑惑問道。
OpenCV 讀取圖片 原碼:https://reurl.cc/3354ZL 成果: OpenCV 本身有提供讀取圖檔的函數可用,讀取圖檔,只要呼叫 cv2.imread 即可將圖片讀取進來,以 cv2.imread 讀進來的資料,會儲存成一個 NumPy 的陣列。 將圖片讀取進來之後,可使用 c
「娜斯佳,可以知道虎嘯山誌的紙本資料放在哪嗎?」我想著若可以知道原始的紙本資料放在哪,那或許就可以知道更完整的資訊了。 「妳可以試著去圖書館找找吧!」娜斯佳背對著我說。 「只是妳可能只會看到一般給市民看的資料,這種有內幕的資訊…」 「可能要到市府內的檔案管理局才有辦法看到。」娜斯佳頓了一頓說。
「學姊~」當我下課,正要上車時,一道聲音從我後方而來。 「好久不見了。」我笑著看向前方奔跑過來的彤羽。 「我就知道學姊會來上課。」彤羽來到我跟前說道。 「我以為,妳會直接去子璇家。」 「本來是想這樣,可是想想我還是先回我住的那,整理好,再來這跟妳一起過去。」 「所以妳自己一個人回來?」 「彤羽?」
「妳們已經見過他了?」當我進房,將背包放置矮櫃沙發下時,開口問道。 「見過了,人應該還可以,就腦子不怎麼精靈。」子璇靠在沙發上無奈的說著。 「要我說,是呆呆的。」蕾雅補充的說道。 「怎了?」 「太年輕,雖然對答上沒什麼問題,但暗示他去當間諜監視劉莊主,暗示了老半天,一直聽不懂。」蕾雅回著我的話。
飯後蕾雅帶娜斯佳回房,而我則將我了解的人員資料,敘說給子璇知道。 「還蠻多人的...」子璇看著名單說著。 「妳覺得.. 我若跟高山族人說,他們可以自由選擇,看是要繼續留在家裡,或是離開生活,我爸他們會不會接受?」 「嗯...我想妳應該要先了解,他們當時被管束的理由,免得一自由就又搞出一堆事。」
隨後,我們便離開會客室,返回子璇的房間。路上,子璇也先請李老將虎嘯山資料傳過來。而我則聯繫小葉,麻煩他處理彤羽所需的東西。 「欸...原來我爸跟二叔、三叔他們是在那時加入那什麼黑派,替嚴老辦事的呀!」子璇像是發現什麼新鮮事般的說著。 「陳言是妳爸的名字?」 鈴~鈴鈴~ 「駭客朋友?」子璇疑惑問道。
你可能也想看
Google News 追蹤
Thumbnail
接下來第二部分我們持續討論美國總統大選如何佈局, 以及選前一週到年底的操作策略建議 分析兩位候選人政策利多/ 利空的板塊和股票
Thumbnail
🤔為什麼團長的能力是死亡筆記本? 🤔為什麼像是死亡筆記本呢? 🤨作者巧思-讓妮翁死亡合理的幾個伏筆
Thumbnail
在讀取檔案時,最怕路徑的問題,常常會有路徑錯誤造成的異常報錯。 為了避免諸如此類的問題發生,明白程式的當前目錄與檔案的路徑是很重要的。 可以利用os 模組是 Python 中的一個標準庫,提供了許多與操作系統的功能。 以下是一些常用的 os 模組基本操作及其範例: 1. os.getcwd
解讀JSON 字串 首先,你需要使用 Python 的 json 模組來解讀JSON 字串。 JSON的基本結構: 由花括號 {} 包圍,內部是鍵值對的集合,每個鍵值對之間用逗號分隔。 鍵是字串類型,值可以是任何JSON支持的資料類型(字串、數字、布林值、陣列、物件或 null)。 {
Thumbnail
  在計算數字時我們要先搞懂運算符號代表的涵義,Python裡面的符號跟我們認知的不會有太大的差別,但是有一些代表不一樣的意思,就必須搞懂才不會在寫程式時,程式碼的重複性太高,會導致日後的維修性降低。
Thumbnail
常常會遇到好不容易寫好程式,但是輸出的時候沒辦法按照自己想要的格式,或是間隔來輸出,這時需要用到的就是格式化輸出,格式化輸出就是調整排版的一個形式。
Thumbnail
一、什麼是變數?   變數是指用來代表某一種資料型態的符號,以非數字的符號來表達,可以是英文字母也可以是一個英文單字,不過python有一些英文字母不能被當作變數,我們稱作保留字,例如:False、None、True、and、is、not、or、......,之後會在介紹。
Thumbnail
IDE是甚麼? IDE又叫做整合開發環境(Integrated Development Environment),在編輯程式碼時有許多的步驟,例如撰寫、編譯、除錯、執行......等過程,都是分開進行,但現在可以在同一個環境下開發,而使用的這些環境正是IDE。
Thumbnail
接下來第二部分我們持續討論美國總統大選如何佈局, 以及選前一週到年底的操作策略建議 分析兩位候選人政策利多/ 利空的板塊和股票
Thumbnail
🤔為什麼團長的能力是死亡筆記本? 🤔為什麼像是死亡筆記本呢? 🤨作者巧思-讓妮翁死亡合理的幾個伏筆
Thumbnail
在讀取檔案時,最怕路徑的問題,常常會有路徑錯誤造成的異常報錯。 為了避免諸如此類的問題發生,明白程式的當前目錄與檔案的路徑是很重要的。 可以利用os 模組是 Python 中的一個標準庫,提供了許多與操作系統的功能。 以下是一些常用的 os 模組基本操作及其範例: 1. os.getcwd
解讀JSON 字串 首先,你需要使用 Python 的 json 模組來解讀JSON 字串。 JSON的基本結構: 由花括號 {} 包圍,內部是鍵值對的集合,每個鍵值對之間用逗號分隔。 鍵是字串類型,值可以是任何JSON支持的資料類型(字串、數字、布林值、陣列、物件或 null)。 {
Thumbnail
  在計算數字時我們要先搞懂運算符號代表的涵義,Python裡面的符號跟我們認知的不會有太大的差別,但是有一些代表不一樣的意思,就必須搞懂才不會在寫程式時,程式碼的重複性太高,會導致日後的維修性降低。
Thumbnail
常常會遇到好不容易寫好程式,但是輸出的時候沒辦法按照自己想要的格式,或是間隔來輸出,這時需要用到的就是格式化輸出,格式化輸出就是調整排版的一個形式。
Thumbnail
一、什麼是變數?   變數是指用來代表某一種資料型態的符號,以非數字的符號來表達,可以是英文字母也可以是一個英文單字,不過python有一些英文字母不能被當作變數,我們稱作保留字,例如:False、None、True、and、is、not、or、......,之後會在介紹。
Thumbnail
IDE是甚麼? IDE又叫做整合開發環境(Integrated Development Environment),在編輯程式碼時有許多的步驟,例如撰寫、編譯、除錯、執行......等過程,都是分開進行,但現在可以在同一個環境下開發,而使用的這些環境正是IDE。