那 Python 能不能連結 MySQL 操作呢?
答案是可以的,今天就讓我們來了解一下
MySQL 是一套快速、功能強大的關聯式資料庫管理系統,目前 MySQL 是 甲骨文Oracle 旗下的產品
MySQL 隨著時間不斷成熟,目前已經成為最主流的開源資料庫,廣泛地應用在網路上的中小型網站中,也逐漸用於更多大規模網站和應用。
由於作者本人使用的主環境是 PostgreSQL,因此使用虛擬作業系統的方式,虛擬出 Windows 系統來做說明
在 Windows 快速安裝 Web service 整合包,就會有包含 MySQL 在裡頭
而這邊我們選擇 XAMPP 來做安裝,以快速架起擁有 MySQL 的環境
XAMPP官方網站
XAMPP下載點
下載後,按照安裝程式步驟點擊下一步安裝即可
之後執行XAMPP會出現以下畫面:
點擊 Apache、MySQL 的「Start」
之後點擊 MySQL 的「Admin」就可到 phpMyAdmin 管理介面
為了之後操作方便,先使用 phpMyAdmin 建立個新資料庫,命名為「pydb」
Anaconda 安裝畫面:
pip 指令安裝:
pip install pymysql
import pymysql
連接 MySQL 的語法如下:
(MySQL 預設 port 號為 3306)
連結物件變數 = pymysql.connect('伺服器位置', port=3306, user='使用者名稱', passwd='使用者密碼', charset='utf8', db='資料庫名稱')
實際操作語法:
# 連結 SQL
connect_db = pymysql.connect('localhost', port=3306, user='root', passwd='', charset='utf8', db='pydb')
若是要執行 SQL 指令,需要使用 cursor() 方法來執行,並在之後提交(commit)至 SQL,接著再關閉 SQL 連線
SQL 執行語法如下:
with 連結物件變數.cursor() as cursor:
cursor.execute(sql語法)
連結物件變數.commit()
連結物件變數.close()
建立資料表的 SQL 語法為:
sql語法變數 = """
CREATE TABLE 資料表名稱 (
欄位名稱 資料型態 其餘規則,
)
"""
讓我們現在來建立 Member 資料表,將有「ID」、「Name」、「Height」、「Weight」四個欄位,並把「ID」設定為自動編碼(AUTO_INCREMENT)及主鍵(PRIMARY KEY)
import pymysql
# 連結 SQL
connect_db = pymysql.connect('localhost', port=3306, user='root', passwd='', charset='utf8', db='pydb')
with connect_db.cursor() as cursor:
sql = """
CREATE TABLE IF NOT EXISTS Member(
ID int NOT NULL AUTO_INCREMENT PRIMARY KEY,
Name varchar(20),
Height int(6),
Weight int(6)
);
"""
# 執行 SQL 指令
cursor.execute(sql)
# 提交至 SQL
connect_db.commit()
# 關閉 SQL 連線
connect_db.close()
執行後,讓我們在 phpMyAdmin 管理介面,看看有無成功新增此資料表
這只是上篇的開胃菜,在下篇會介紹如何「新增資料」、「查詢資料」、「更新資料」、「刪除資料」