PostgreSQL - 第 7 天 - 更新與刪除數據
課程簡介
UPDATE
語句可用於修改已存在的記錄,而 DELETE
語句則用於刪除指定的數據。這些操作是資料庫管理中不可或缺的技能,因此掌握如何有效且安全地更新和刪除數據非常重要。
更新數據 (UPDATE)
UPDATE
語句用於修改資料表中已存在的記錄,結合 SET
子句指定要更改的欄位值,並搭配 WHERE
子句以限定條件。
語法
1
UPDATE 表名 SET 欄位1 = 值1, 欄位2 = 值2, ... WHERE 條件;
若未指定 WHERE
條件,則所有記錄都將被更新,因此使用時務必小心。
範例
更新單一欄位
將員工
資料表中職位為「工程師」的員工月薪增加至 65000:1
UPDATE 員工 SET 月薪 = 65000 WHERE 職位 = '工程師';
更新多個欄位
將姓名為「王小明」的員工的職位改為「資深工程師」,月薪增加至 70000:1
UPDATE 員工 SET 職位 = '資深工程師', 月薪 = 70000 WHERE 姓名 = '王小明';
更新多個符合條件的記錄
將所有入職日期在 2022 年之前的員工月薪增加 10%:1
UPDATE 員工 SET 月薪 = 月薪 * 1.1 WHERE 入職日期 < '2022-01-01';
刪除數據 (DELETE)
DELETE
語句用於從資料表中刪除記錄。通常會搭配 WHERE
子句,以指定要刪除的記錄。
語法
1
DELETE FROM 表名 WHERE 條件;
若未使用 WHERE
子句,所有記錄都將被刪除。此操作不可逆,因此在執行 DELETE
時務必確認條件的正確性。
範例
刪除單筆記錄
刪除姓名為「李美麗」的員工記錄:1
DELETE FROM 員工 WHERE 姓名 = '李美麗';
刪除多筆記錄
刪除月薪低於 50000 的所有員工記錄:1
DELETE FROM 員工 WHERE 月薪 < 50000;
刪除整個資料表的數據
若要刪除員工
表中的所有數據但保留表結構:1
DELETE FROM 員工;
使用 RETURNING 子句
在 UPDATE
和 DELETE
操作後,我們可以使用 RETURNING
子句來返回被修改或刪除的記錄,方便進行檢查。
範例
查看更新結果
更新某員工的月薪,並返回被更新的記錄:1
UPDATE 員工 SET 月薪 = 75000 WHERE 姓名 = '張偉' RETURNING *;
查看刪除結果
刪除職位為「實習生」的所有員工記錄,並返回被刪除的記錄:1
DELETE FROM 員工 WHERE 職位 = '實習生' RETURNING *;
本日總結
今天我們學習了如何在 PostgreSQL 中使用 UPDATE
和 DELETE
語句來更新和刪除數據,並學會了使用 RETURNING
子句檢視變更結果。這些操作讓我們能夠有效地管理資料庫中的記錄。明天我們將深入了解如何在查詢中使用聚合函數 (如 COUNT
、SUM
等) 來處理數據。