SQL里,可以利用UPDATE语句修改资料表中一笔或多笔的资料。可以更新全部的字段,或使用条件式只更新部分的资料。

以下是Update语句的语法:

UPDATE 资料表名称 SET [字段名称1 = 值1], [ 字段名称2 = 值2], [ 字段名称3 = 值 ...] [WHERE 条件式]


UPDATE若要能成功,用户必须要有字段或是资料表的资料存取权限(UPDATE权限),而且更新的值不可违背资料表的限制条件(如主键、唯一索引、检查限制非空值等限制)。

示例

只在字段 C2 的值为“ a ”时将资料表 T 中的字段 C1 设为 1 。

UPDATE T SET C1 = 1 WHERE C2 = 'a'

将字段 C1 的值加 1 ,若字段 C2 的值为“ a ”。

UPDATE T SET C1 = C1 + 1 WHERE C2 = 'a'

将字段 C1 的前面串接上字符串“ text ”,若字段 C2 的值为“ a ”。

UPDATE T SET C1 = 'text' || C1 WHERE C2 = 'a'

只在 C2 的值也出现于有着字段 C4 等于 0 的资料表 T2 里的字段 C3 中时,资料表 T1 里的字段 C1 才会被设为 2 。

UPDATE T1 
SET    C1 = 2    
WHERE  C2 IN ( SELECT C3
               FROM   T2
               WHERE  C4 = 0)

参考文献

参见