【SQL語法大全】SQL Server與Oracle 新增、修改、刪除資料完整教學

資料庫

在資料庫操作中,對資料的新增 (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 快。
  • 無法針對特定條件刪除,只能整表清除。

五、注意事項與最佳實務

  1. 修改或刪除前,建議先執行 SELECT 驗證條件是否正確。
  2. 操作敏感資料表時,使用交易控制 (TRANSACTION):
    • SQL Server: BEGIN TRANSACTIONCOMMITROLLBACK
    • Oracle: 默認需手動 COMMIT,可使用 ROLLBACK 撤銷未提交操作。
  3. 可加上 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 與 Oracle 資料操作語法,能大幅提升數據管理的準確性與效率,在處理資料時更加得心應手。

發佈留言