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)
為什麼會看到廣告
avatar-img
40會員
131內容數
獨立遊戲開發紀錄
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
吳佳鑫的沙龍 的其他內容
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
現代社會跟以前不同了,人人都有一支手機,只要打開就可以獲得各種資訊。過去想要辦卡或是開戶就要跑一趟銀行,然而如今科技快速發展之下,金融App無聲無息地進到你生活中。但同樣的,每一家銀行都有自己的App時,我們又該如何選擇呢?(本文係由國泰世華銀行邀約) 今天我會用不同角度帶大家看這款國泰世華CUB
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
※ 把record加到table有兩種方式: VALUES • SELECT ※ 語法 INSERT INTO VALUES 語法: Record 代表一組值的集合,每個值對應到表格中的一個欄位(column)。 INSERT INTO 語法用來指定要插入資料的表格。 需要提供一個
Day9-11 這幾天如火如荼地學寫資料庫,從最一開始的SELECT單一欄位數值 SELECT eyes FROM body (???)
Thumbnail
※ 為什麼選擇SQLite? 安裝簡單:SQLite是一個零配置的資料庫,不需要複雜的設定和安裝過程。。 使用SQL語法。 設計選擇多元性(MySQL / SQLite):適合於小零件資料應用、嵌入式系統、物聯網設備。 ※ SQLite四大優點: 執行檔檔案很小:資料庫系統需要的磁碟空
Thumbnail
如果MySQL忘記密碼,可以使用修改cnf檔案免去登入驗證,再進入MySQL重新設定密碼的方式,找回密碼,另外還附上有一般修改密碼的方式。
Thumbnail
本文將介紹在Windows環境中安裝SQL Server及相關PHP擴展,以進行與SQL Server的串接。透過本文所述步驟,您將能在Windows環境中順利進行PHP與SQL Server串接設定。
Thumbnail
登入資料庫方式,請執行以下的命令: sudo mysql -u root -p 建立一個新資料庫,我們建立“itslinuxfoss”資料庫為例: CREATE DATABASE itslinuxfoss; 為新建立的資料庫設定新的使用者名稱和密碼: GRANT ALL PRIVILEGE
※ MySQL是什麼? MySQL是一種開源(免費)的關聯式資料庫管理系統,所以任何人都可以免費使用,是Web開發中最常用的資料庫之一。MySQL 會將資料儲存在由資料列與資料欄組成的資料表中。使用者可使用結構化查詢語言 (通常稱為 SQL) 來定義、操控、控管及查詢資料。  簡單來說,資料
Thumbnail
在這個星光閃爍的數據宇宙中,SQL是一把鑰匙,開啟了通往知識寶庫的大門。想像一下,每一條SELECT語句都像是一段魔法咒語,喚醒沉睡在數據庫深處的信息。今天,我們就要一起踏上這段探秘之旅,將揭開SQL基本查詢指令的神秘面紗,學習如何巧妙地與數據對話。
Thumbnail
在數據分析的工作中,處理 CSV 檔案是一項基礎且重要的技能,CSV 格式的檔案是以純文字形式儲存表格數據,簡潔的結構使其普遍應用於數據儲存。本文將介紹如何使用Python 來讀取、處理和儲存 CSV 檔案。
Thumbnail
※ 基本操作:SQL 語法,SELECT, WHERE, CREATE, UPDATE, DELETE。 SELECT:從資料庫中或資料表中指定要選擇的欄位中取得資料,稱之為查詢 (query)。 ※ 語法:要由兩部分構成,第一部分是要 "拿什麼" 資料 (若有多項用逗號隔開);第二部分則為
Thumbnail
現代社會跟以前不同了,人人都有一支手機,只要打開就可以獲得各種資訊。過去想要辦卡或是開戶就要跑一趟銀行,然而如今科技快速發展之下,金融App無聲無息地進到你生活中。但同樣的,每一家銀行都有自己的App時,我們又該如何選擇呢?(本文係由國泰世華銀行邀約) 今天我會用不同角度帶大家看這款國泰世華CUB
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
※ 把record加到table有兩種方式: VALUES • SELECT ※ 語法 INSERT INTO VALUES 語法: Record 代表一組值的集合,每個值對應到表格中的一個欄位(column)。 INSERT INTO 語法用來指定要插入資料的表格。 需要提供一個
Day9-11 這幾天如火如荼地學寫資料庫,從最一開始的SELECT單一欄位數值 SELECT eyes FROM body (???)
Thumbnail
※ 為什麼選擇SQLite? 安裝簡單:SQLite是一個零配置的資料庫,不需要複雜的設定和安裝過程。。 使用SQL語法。 設計選擇多元性(MySQL / SQLite):適合於小零件資料應用、嵌入式系統、物聯網設備。 ※ SQLite四大優點: 執行檔檔案很小:資料庫系統需要的磁碟空
Thumbnail
如果MySQL忘記密碼,可以使用修改cnf檔案免去登入驗證,再進入MySQL重新設定密碼的方式,找回密碼,另外還附上有一般修改密碼的方式。
Thumbnail
本文將介紹在Windows環境中安裝SQL Server及相關PHP擴展,以進行與SQL Server的串接。透過本文所述步驟,您將能在Windows環境中順利進行PHP與SQL Server串接設定。
Thumbnail
登入資料庫方式,請執行以下的命令: sudo mysql -u root -p 建立一個新資料庫,我們建立“itslinuxfoss”資料庫為例: CREATE DATABASE itslinuxfoss; 為新建立的資料庫設定新的使用者名稱和密碼: GRANT ALL PRIVILEGE
※ MySQL是什麼? MySQL是一種開源(免費)的關聯式資料庫管理系統,所以任何人都可以免費使用,是Web開發中最常用的資料庫之一。MySQL 會將資料儲存在由資料列與資料欄組成的資料表中。使用者可使用結構化查詢語言 (通常稱為 SQL) 來定義、操控、控管及查詢資料。  簡單來說,資料
Thumbnail
在這個星光閃爍的數據宇宙中,SQL是一把鑰匙,開啟了通往知識寶庫的大門。想像一下,每一條SELECT語句都像是一段魔法咒語,喚醒沉睡在數據庫深處的信息。今天,我們就要一起踏上這段探秘之旅,將揭開SQL基本查詢指令的神秘面紗,學習如何巧妙地與數據對話。
Thumbnail
在數據分析的工作中,處理 CSV 檔案是一項基礎且重要的技能,CSV 格式的檔案是以純文字形式儲存表格數據,簡潔的結構使其普遍應用於數據儲存。本文將介紹如何使用Python 來讀取、處理和儲存 CSV 檔案。
Thumbnail
※ 基本操作:SQL 語法,SELECT, WHERE, CREATE, UPDATE, DELETE。 SELECT:從資料庫中或資料表中指定要選擇的欄位中取得資料,稱之為查詢 (query)。 ※ 語法:要由兩部分構成,第一部分是要 "拿什麼" 資料 (若有多項用逗號隔開);第二部分則為