整理 Using MySQL Databases With Python 的資料庫教學筆記,詳細紀錄程式碼範例:從 MySQL 進行安裝教學、Python 連結 MySQL 使用者設定、到基礎資料庫的查詢、讀取 CRUD 應用,讓大家能輕鬆使用 Python 上手 MySQL 進行蒐集和使用資料,附上程式碼提供大家參考。
Table
一. Python 安裝 MySQL
首先是下載 MySQL,Mac 可以從這 Mac下載MySQL,Windows 的朋友在這 Windows下載MySQL,Mac 的朋友選擇第一個 macOS 10.14 DMG 檔 (如下圖)
安裝完後會被要求設定 MySQL 的帳號密碼,這組密碼務必記起來!
接下來安裝 MySQL GUI 工具(圖像化管理資料庫),推議使用 Workbench,Windows 和 Mac 系統都適用;安裝完開啟後會如下圖,再輸入剛剛設定的帳密連線後就完成 MySQL 的安裝囉!
二. Python 連接 MySQL 資料庫
第一次建立的資料庫 host = “localhost”和user = “root” 這兩項會是一樣的,其中的database = “maxdb” 這欄是選擇要使用哪一個 database,如果想選擇 database 再填寫即可,而 password = “password” 這塊要填寫當初安裝 MySQL 資料庫時自己所設定的密碼。
1 2 3 4 5 6 7 8 9 |
# Connect MySQL import mysql.connector maxdb = mysql.connector.connect( host = "127.0.0.1", user = "root", password = "password", database = "maxdb", ) cursor=maxdb.cursor() |
三. Python MySQL 操作 (CRUD)
1. Python 新增 MySQL 資料
首先建立 database 可以參考 #Create db 的段落指令,
建立好後再來是新增裡面的 table 可以參考 #Create table 的段落指令,
是輸入欄位名稱和數據資料可以參考 #Insert Multiple Records 的段落指令,如果 database 和 table 有重複建立的話是無法運行的唷。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
# Create db cursor.execute("CREATE DATABASE maxdb") # Create table cursor.execute("CREATE TABLE users (name VARCHAR(255), age INTEGER(99), user_id INTEGER AUTO_INCREMENT PRIMARY Key)") # Insert Multiple Records sqlStuff = "INSERT INTO users (name, age) VALUES (%s,%s)" records = [("Steve", 24), ("Max", 25), ("Chang" ,26),] cursor.executemany(sqlStuff, records) maxdb.commit() |
2. Python 讀取 MySQL 資料
利用 Python 讀取 MySQL 的資料,要留意的是其中 Where name Like ‘M%’,M% 這部分是讀取 name 欄位內所有 M 開頭的名稱,如果要指定特定名稱的話,可以寫成 Where name = ‘Max’ 即可。
1 2 3 4 5 |
# Read cursor.execute("SELECT * FROM users Where name Like 'M%'") result = cursor.fetchall() for row in result: print(row) |
3. Python 更新 MySQL 資料
利用 Python 更新 MySQL 的資料,其中 WHERE user_id = 3,這部分是使用不重複的欄位(像是 id )更新,如果用欄位 name 來更新資料的話,名稱可能重複所以要留意可能會有多欄位被修改。
1 2 3 4 |
# Update update_users = "UPDATE users SET age = 23 WHERE user_id = 3" cursor.execute(update_users) maxdb.commit() |
4. Python 刪除 MySQL 資料
利用 Python 清理 MySQL 內 table 的資料,DROP TABLE 的功能使用上要特別留心,是沒辦法復原資料的唷!
1 2 3 4 5 6 7 8 |
# Delete delete_users = "DELETE FROM users WHERE user_id = 4" cursor.execute(delete_users) maxdb.commit() # Delete Drpo Table delete_table = "DROP TABLE IF EXISTS users" cursor.execute(delete_table) |
資料庫相關延伸閱讀:
- [資料庫筆記] Python 做 GoogleSheet 的新增、讀取、更新和刪除
- [資料庫筆記] Python 使用 BigQuery 的操作與安裝
- [Flask教學] Flask-SQLAlchemy 資料庫連線&設定入門 (一)
- [Flask教學] Flask-SQLAlchemy 資料庫操作-ORM篇 (二)
- [Flask教學] Flask-SQLAlchemy -ORM 一對多關聯篇 (三)
- [Flask教學] Flask-SQLAlchemy -ORM 多對多關聯篇 (四)
- [Flask教學] Flask-SQLAlchemy 資料庫操作-SQL指令篇 (五)
Python相關教學延伸閱讀:
- [Python教學] pip install 指令大全
- [Python教學] 寫給新手的 Python 入門基礎操作
- [Python教學] 使用 pyenv 和 virtualenv 打造 Python 環境配置
- [Git教學] 寫給Git初學者的入門 3 步驟
- Visual Studio Code 必備的 5 個擴充和小常識
那 [資料庫筆記] Python 做 MySQL 的新增、讀取、更新和刪除 的介紹就到這邊告一個段落囉!有任何問題可以在以下留言~
有關 Max行銷誌的最新文章,都會發佈在 Max 的 Facebook 粉絲專頁,如果想看最新更新,還請您按讚或是追蹤唷!
在〈[資料庫筆記] Python 使用 MySQL資料庫的教學與安裝〉中有 2 則留言
在Windows 10上安裝
出現了一堆問題,最後,還是回到Linux上去處理
才把問題處理好
已收藏,感謝感謝,寫的非常簡單易懂!