## CRUD 要對 SQL Server 進行 CRUD(Create, Read, Update, Delete)操作,你可以使用 Python 中的 pyodbc 庫來與 SQL Server 進行交互。以下是一個簡單的示例,展示了如何使用 pyodbc 庫來執行 CRUD 操作: ```python= import pyodbc # 連接到 SQL Server conn = pyodbc.connect( # "Driver={SQL Server Native Client 11.0};" "Driver={SQL Server};" "Server=server_name;" "Database=database_name;" "UID=username;" "PWD=password;" ) # 創建 def create_record(): cursor = conn.cursor() cursor.execute("INSERT INTO table_name (column1, column2) VALUES (?, ?)", value1, value2) conn.commit() cursor.close() # 讀取 def read_records(): cursor = conn.cursor() cursor.execute("SELECT * FROM table_name") rows = cursor.fetchall() for row in rows: # 處理每一行的數據 print(row) cursor.close() # 更新 def update_record(record_id, new_value): cursor = conn.cursor() cursor.execute("UPDATE table_name SET column1 = ? WHERE id = ?", new_value, record_id) conn.commit() cursor.close() # 刪除 def delete_record(record_id): cursor = conn.cursor() cursor.execute("DELETE FROM table_name WHERE id = ?", record_id) conn.commit() cursor.close() # 執行操作 create_record() read_records() update_record(1, "new_value") delete_record(1) # 關閉連接 conn.close() ``` 在上述示例中,你需要根據你的 SQL Server 信息設置連接字串中的 `server_name`、`database_name`、`username` 和 `password`。然後,你可以使用 `pyodbc.connect()` 函數建立與 SQL Server 的連接。接下來,你可以定義創建、讀取、更新和刪除的函數來執行相應的操作。最後,你需要在操作之後關閉連接。 請注意,上述示例中使用的是 pyodbc 庫,你需要確保已經安裝了該庫,可以使用 `pip install pyodbc` 命令進行安裝。另外,請根據你的具體情況自行修改表名、列名和 SQL 語句等部分。 ### Select / Handle Row 在 pyodbc 中,使用 fetch 方法獲取的每一個 Row 都是一個 tuple,你可以使用索引或欄位名稱來獲取該 Row 中的欄位值。 使用索引: ```python= row = cursor.fetchone() # 獲取一個 Row value = row[0] # 使用索引 0 獲取第一個欄位的值 ``` 使用欄位名稱: ```python= row = cursor.fetchone() # 獲取一個 Row value = row.column_name # 使用欄位名稱獲取欄位的值 ``` **注意,欄位名稱需要與資料庫中實際的欄位名稱相符 (區分大小寫)。** 另外,如果你想獲取多個 Rows,可以使用 fetchall 方法來獲取所有 Rows,並使用迴圈逐一處理每個 Row 中的欄位值。 ```python= rows = cursor.fetchall() # 獲取所有 Rows for row in rows: value = row.column_name # 使用欄位名稱獲取欄位的值 # 在這裡處理欄位值... ``` 請注意,在使用 fetch 或 fetchall 之前,你需要先使用 execute 方法執行 SQL 查詢,並取得 cursor 物件。 ## Ref - https://www.sqlshack.com/performing-crud-operations-with-a-python-sql-library-for-sql-server/