iT邦幫忙

2024 iThome 鐵人賽

DAY 15
0
Odoo

30天就算 0 基礎,也能使用 GenAI 創造簡單的 Odoo 模組應用系列 第 15

【Day15】零基礎 ERP 關聯式資料庫 (Relational Database):操作表格資料 (DML)

  • 分享至 

  • xImage
  •  

DML(Data Manipulation Language)主要用於對資料進行操作,這些操作包括插入(Insert)、更新(Update)、刪除(Delete),以及查詢(Select)資料。這些操作直接影響資料的內容,對於關聯式資料庫的日常操作至關重要。


文章架構

  • 什麼是 DML(Data Manipulation Language)?
    • Insert 插入資料
    • Update 更新資料
    • Delete 刪除資料
    • Select 查詢資料
  • 在 Excel 中跨 Sheet 查詢的操作
    • Excel VLOOKUP 查詢範例
    • SQL JOIN 對應範例
  • DML 操作與實際應用小結

什麼是 DML(Data Manipulation Language)?

DML 主要用於對資料進行操作,這些操作包括插入(Insert)、更新(Update)、刪除(Delete),以及查詢(Select)資料。這些操作直接影響資料的內容,對於關聯式資料庫的日常操作至關重要。

我們可以用 Excel 來簡化理解 DML:

Insert 插入資料

在 Excel 中,當你在某個表格 (sheet) 裡輸入新的數據時,這就相當於在資料庫中執行 INSERT INTO 操作。例如,在客戶資料表中新增一位客戶的信息,這類似於在資料庫的表格裡新增一筆紀錄。

  • SQL 對應範例:
INSERT INTO Customers (CustomerID, CustomerName, Phone)
VALUES (101, 'John Doe', '123456789');
  • Excel:
    在 "客戶" 的 Excel 表格中新增一行,輸入 101、John Doe 和 123456789 即完成插入操作。

Update 更新資料

假設你想修改已存在的資料,比如改正某個客戶的聯繫方式。在 Excel 中,這就像修改表格中的某一個儲存格的數據,而在 SQL 中,這對應於 UPDATE 操作。

  • SQL 對應範例:
UPDATE Customers
SET Phone = '987654321'
WHERE CustomerID = 101;
  • Excel:
    在 "客戶" 表格的聯繫資訊欄中,找到客戶編號為 101 的那一行,然後修改聯繫電話號碼。

Delete 刪除資料

如果某個客戶不再使用你的服務,可能需要從資料庫中刪除該客戶的記錄。這對應於 DELETE 操作。 在 Excel 中,這相當於刪除表格中的一行數據。

  • SQL 對應範例:
DELETE FROM Customers
WHERE CustomerID = 101
  • Excel:
    在 "客戶" 表格中,找到客戶編號為 101 的那一行,然後右鍵選擇刪除行。

Select 查詢資料

SELECT 是用來從資料庫中提取特定資訊的語法。在 Excel 中,這類似於使用篩選功能,從表格中選擇出符合條件的數據。舉例來說,你可以篩選所有住在某個城市的客戶。

  • SQL 對應範例:
SELECT Name, Phone
FROM Customers
WHERE City = 'Taipei';
  • Excel:
    使用 Excel 的篩選功能,選擇 "城市" 欄位中的 Taipei,Excel 將只顯示符合該條件的客戶。

在 Excel 中跨 Sheet 查詢的操作

假設我們有兩個 sheet,Customers 和 Orders:

  • Customers 表包含客戶資訊(客戶ID、姓名、聯絡方式等)。
  • Orders 表包含訂單資訊(訂單ID、客戶ID、訂單日期等)。

我們希望查詢每位客戶的訂單資訊,這在 SQL 中可以使用 JOIN 來實現,在 Excel 中則可以使用 VLOOKUP 或 XLOOKUP 函數來完成類似的操作。

Excel VLOOKUP 查詢範例

使用 VLOOKUP 函數,可以從 Orders 表中查詢與 Customers 表中每個客戶對應的訂單資訊。

  • Excel 操作:
    • 在 Customers 表中新增一欄,命名為「訂單日期」。
    • 在這一欄中使用 VLOOKUP 查找每個客戶的訂單日期:
    =VLOOKUP(A2, Orders!A2:C10, 3, FALSE)
    
    • 說明:
      • A2 是 Customers 表中的客戶ID。
      • Orders!A2:C10 是 Orders 表的資料範圍。
      • 3 表示要返回 Orders 表中第三欄的值,也就是訂單日期。
      • FALSE 表示精確匹配。

SQL JOIN 對應範例

在關聯式資料庫中,這個操作可以使用 JOIN 語句來進行跨表查詢,將 Customers 表和 Orders 表聯繫起來。

  • SQL 對應範例:
SELECT Customers.CustomerName, Orders.OrderDate
FROM Customers
JOIN Orders ON Customers.CustomerID = Orders.CustomerID;

DML 操作與實際應用小結

DML 操作是數據日常管理的基礎,無論你是在 Excel 中進行簡單的數據增刪改查,還是在使用更複雜的 SQL 語法,這些操作都是管理數據的核心。學會如何使用 DML 進行操作,不僅可以提高對資料庫的掌控力,也能幫助你更高效地管理和分析數據。

當需要跨 sheet 查詢時,Excel 的 VLOOKUP 和 XLOOKUP 函數就像 SQL 中的 JOIN,它們用來關聯不同表格中的數據,從而讓我們在不同資料集中進行查詢和分析。這樣的操作有助於管理複雜資料,特別是在大型報表和多表格場景下。

藉由 Excel 的例子,我們可以看到資料庫操作如何直接應用於現實情境,並且更容易理解如何在更大規模的關聯式資料庫系統中進行操作。


上一篇
【Day14】運用 Odoo ORM 在資料庫建立,簡易電商顧客訂單模型
下一篇
【Day16】Odoo ORM 資料操作,簡易電商顧客訂單 增刪查改 (CRUD) 及 複雜關聯查詢 (Join)
系列文
30天就算 0 基礎,也能使用 GenAI 創造簡單的 Odoo 模組應用30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言