首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL UPDATE 語句完全指南:單列、多列與條件更新實戰

     編輯:關於SqlServer

UPDATE 基本語法

UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;

WHERE 決定更新哪些行;省略則更新全表(極度危險)。

三大核心場景

1. 單列更新

UPDATE phone_book
SET area_code = 623
WHERE prefix = 979;

2. 多列同時更新

UPDATE phone_book
SET last_name = 'Smith', prefix = 555, suffix = 9292
WHERE last_name = 'Jones';

3. 表達式更新(列間運算)

UPDATE employee
SET age = age + 1
WHERE first_name = 'Mary' AND last_name = 'Williams';

進階技巧與最佳實踐

  • 子查詢更新:SET col = (SELECT MAX(x) FROM other_table WHERE ...)
  • JOIN 更新(SQL Server 專用):
    UPDATE t1
    SET t1.col = t2.col
    FROM table1 t1
    JOIN table2 t2 ON t1.id = t2.id
    WHERE t2.status = 'active';
  • 大批量分批更新:避免長事務鎖表,用 TOP (5000) 循環
  • 樂觀鎖防併發覆蓋:WHERE version = @old_version,更新時 version += 1

練習題

  1. JonIE Weber 改嫁,last_name 改為 'Weber-Williams'
  2. Dirk Smith 生日,age +1
  3. 所有 'Secretary' title 改為 'Administrative Assistant'
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved