2023年12月23日 星期六

使用pymysql套件來操作MySQL資料庫

 參考資料如下:

  1. 黃建庭,"Python程式設計從入門到進階應用",全華,第13章,第13-16頁。
  2. [2020鐵人賽Day17]糊裡糊塗Python就上手-MySQL操作探險歷程(上),https://ithelp.ithome.com.tw/articles/10246378
  3. [2020鐵人賽Day18]糊裡糊塗Python就上手-MySQL操作探險歷程(下),https://ithelp.ithome.com.tw/articles/10246379

本篇文章是將參考資料的第一篇文章的範例,用參考資料第二、三篇的套件改寫。

程式如下:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import pymysql

# 連接到 MySQL 資料庫
connect_db = pymysql.connect(host='localhost', port=3306, user='root', passwd='', charset='utf8')

# 使用 with 來確保資源的正確釋放
with connect_db.cursor() as cursor:
    # 建立一個名為 'school' 的資料庫
    cursor.execute('CREATE DATABASE school')

    # 選擇 'school' 資料庫
    cursor.execute('USE school')

    # 建立一個名為 'stu' 的表格
    sql = """CREATE TABLE stu (
        stuid INTEGER PRIMARY KEY,
        name VARCHAR(50) NOT NULL,
        pid VARCHAR(20) NOT NULL,
        phone VARCHAR(20) NOT NULL )"""
    cursor.execute(sql)

    # 插入一條記錄到 'stu' 表格
    sql = "INSERT INTO stu VALUES (104001, 'Claire', 'B342222', '1245667')"
    cursor.execute(sql)

    # 查詢 'stu' 表格的所有記錄
    result = cursor.execute("SELECT * FROM stu")
    rows = cursor.fetchall()
    print(rows)

    # 刪除 'stu' 表格
    cursor.execute('DROP TABLE stu')

    # 刪除 'school' 資料庫
    cursor.execute('DROP DATABASE school')

執行結果:
((104001, 'Claire', 'B342222', '1245667'),)

沒有留言:

張貼留言