
在資料庫操作中,對資料的新增 (INSERT)、修改 (UPDATE)、刪除 (DELETE) 是最基本且最常用的操作。本篇將針對 SQL Server 與 Oracle 的語法,介紹如何正確執行這些操作。
一、資料新增 (INSERT)
1. SQL Server
INSERT INTO Employees (EmployeeID, Name, Age, Department)
VALUES (1, 'John Doe', 30, 'HR');
2. Oracle
INSERT INTO Employees (EmployeeID, Name, Age, Department)
VALUES (1, 'John Doe', 30, 'HR');
COMMIT; -- Oracle 必須明確提交
小技巧:
- 可以省略欄位名稱,但建議明確寫出欄位,避免日後表結構變更影響。
二、資料修改 (UPDATE)
1. SQL Server
UPDATE Employees
SET Age = 31, Department = 'Finance'
WHERE EmployeeID = 1;
2. Oracle
UPDATE Employees
SET Age = 31, Department = 'Finance'
WHERE EmployeeID = 1;
COMMIT;
小技巧:
- WHERE 條件必須謹慎,避免漏寫導致全表資料被更新。
三、資料刪除 (DELETE)
1. SQL Server
DELETE FROM Employees
WHERE EmployeeID = 1;
2. Oracle
DELETE FROM Employees
WHERE EmployeeID = 1;
COMMIT;
小技巧:
- 與 UPDATE 一樣,請務必確認 WHERE 條件正確,以免誤刪大量資料。
四、TRUNCATE 清空表格 (特殊操作)
1. SQL Server
TRUNCATE TABLE Employees;
2. Oracle
TRUNCATE TABLE Employees;
說明:
- TRUNCATE 會移除表中所有資料,無法回復,速度比 DELETE 快。
- 無法針對特定條件刪除,只能整表清除。
五、注意事項與最佳實務
- 修改或刪除前,建議先執行
SELECT
驗證條件是否正確。 - 操作敏感資料表時,使用交易控制 (TRANSACTION):
- SQL Server:
BEGIN TRANSACTION
、COMMIT
、ROLLBACK
- Oracle: 默認需手動
COMMIT
,可使用ROLLBACK
撤銷未提交操作。
- SQL Server:
- 可加上
OUTPUT
(SQL Server) 或RETURNING
(Oracle) 返回受影響的資料,便於確認:- SQL Server:
DELETE FROM Employees OUTPUT DELETED.* WHERE EmployeeID = 1;
- Oracle:
DELETE FROM Employees WHERE EmployeeID = 1 RETURNING EmployeeID, Name INTO :v_id, :v_name;
- SQL Server:
熟悉 SQL Server 與 Oracle 資料操作語法,能大幅提升數據管理的準確性與效率,在處理資料時更加得心應手。