SQL更新详解

发布时间:2023-05-21

一、UPDATE关键字

1、SQL UPDATE关键字用于修改已存在的记录。 2、语法:UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值 3、示例代码:

UPDATE Persons
SET FirstName = 'Peter'
WHERE LastName = 'Wilson'

二、更新多列

1、语法:UPDATE 表名称 SET 列1名称 = 新值1, 列2名称 = 新值2 WHERE 列名称 = 某值 2、示例代码:

UPDATE Persons
SET FirstName = 'Peter', LastName = 'Wilson'
WHERE PersonID = 1;

三、通过子查询更新

1、可以使用子查询来更新表中的数据。 2、语法:

UPDATE 表名称 SET 列名称 = (SELECT STATEMENT) WHERE 列名称 = (SELECT STATEMENT)

3、示例代码:

UPDATE Orders
SET ShipperID = 3
WHERE OrderID IN (SELECT OrderID FROM OrderDetails WHERE ProductID = 7);

四、使用CASE语句更新

1、可以使用CASE语句来根据条件更新数据。 2、语法:

UPDATE 表名称 SET 列名称 =
CASE
WHEN 列值 = 条件值 THEN 新值
WHEN 列值 = 条件值 THEN 新值
ELSE 列名称
END
WHERE 条件

3、示例代码:

UPDATE Products
SET Price =
CASE
WHEN CategoryID = 1 THEN Price * 0.9
WHEN CategoryID = 2 THEN Price * 0.95
ELSE Price
END;

五、更新所有记录

1、可以使用 UPDATE 语句不带 WHERE 子句来更新所有记录。 2、语法:

UPDATE 表名称 SET 列名称 = 新值

3、示例代码:

UPDATE Customers
SET ContactName='Alfred Schmidt', City='Hamburg';