PostgreSQL
上一页   下一页

UPDATE

名称

UPDATE — 替换表中列/字段的数值

UPDATE table SET col = expression [, ...]
    [ FROM fromlist ]
    [ WHERE condition ]
  

输入

table
现存表的名称.
column
table 中列/字段的名.
expression
赋予列/字段的一个有效的值或表达式.
fromlist
Postgres 的一个非标准的扩展,允许别的表中的列/字段出现在 WHERE 条件里.
condition
请参考 SELECT 语句获得 WHERE 子句的进一步描述.

输出

UPDATE #
成功的返回信息.# 意味着更新的行数.如果 # 等于 0 则没有行被更新.

描述

UPDATE 改变满足条件的所有行的声明了的列/字段的值。只有要更改的列/字段需要在语句中出现.

数组查询使用与 SELECT 里一样的语法.也就是说,单个数组元素,数组元素的一个范围或者是整个数组都可以用一个查询语句更新.

要更改表,你必须对它有写权限,同样对 WHERE 条件里提到的任何表也要有读权限.

用法

把字段 kind 里的词 "Drama" 用 "Dramatic" 代替:

UPDATE films 
    SET kind = 'Dramatic'
    WHERE kind = 'Drama';
SELECT * FROM films WHERE kind = 'Dramatic' OR kind = 'Drama';

   code |title        |did| date_prod|kind      |len
   -----+-------------+---+----------+----------+------
   BL101|The Third Man|101|1949-12-23|Dramatic  | 01:44
   P_302|Becket       |103|1964-02-03|Dramatic  | 02:28
   M_401|War and Peace|104|1967-02-12|Dramatic  | 05:57
   T_601|Yojimbo      |106|1961-06-16|Dramatic  | 01:50
   DA101|Das Boot     |110|1981-11-11|Dramatic  | 02:29
   

兼容性

SQL92

SQL92 在定位的 UPDATE 语句上定义了一些不同的语法:

UPDATE table SET column = expression [, ...]
    WHERE CURRENT OF cursor
    

这里 cursor 表示一个打开的游标.


上一页 首页 下一页
UNLISTEN 开头 VACUUM