UPDATE(7)

NAME
UPDATE - 更新一個表中的行

SYNOPSIS

UPDATE [ ONLY ] table SET column = { expression | DEFAULT } [, ...]
    [ FROM fromlist ]
    [ WHERE condition ]

DESCRIPTION 描述

UPDATE 改變滿足條件的所有行的聲明瞭的列/欄位的值。 只有要更改的列/欄位需要在語句中出現，沒有明確的 SET 的欄位保持它們原來的數值。

 預設時，UPDATE 將更新所宣告的表和所有子表的記錄。 如果你希望只更新所宣告的表，你應該使用 ONLY 子句。

 要更改表，你必須對它有UPDATE 許可權， 同樣對 expression 或者 condition 條件裡提到的任何表也要有SELECT許可權。

PARAMETERS 引數

table
     現存表的名稱（可以有模式修飾）。

column
     表 table 中列/欄位的名。

expression
     賦予列/欄位的一個有效的值或表示式。表示式可以使用表中這個或其它欄位的舊數值。

DEFAULT
     把欄位設定為它的預設值（如果沒有預設表示式賦予它，那麼就是 NULL）。

fromlist
     一個表示式的列表，允許來自其它表中的列/欄位出現在 WHERE 條件裡。

condition
     一個表示式，返回 boolean 型別。只有這個表示式返回 true 的行被更新。

OUTPUTS 輸出

 成功完成後，UPDATE 命令返回形如

UPDATE count

 的命令標籤。count 是更新的行數。 如果 count 是 0， 那麼沒有符合 condition 的行（這個不認為是錯誤）。

EXAMPLES 例子

 把表 films 裡的欄位 kind 裡的詞 Drama 用Dramatic 代替：

UPDATE films SET kind = 'Dramatic' WHERE kind = 'Drama';

 調整表 weather 中的一行的溫度記錄並且把降水設定為預設值：

UPDATE weather SET temp_lo = temp_lo+1, temp_hi = temp_lo+15, prcp = DEFAULT
  WHERE city = 'San Francisco' AND date = '2003-07-03';

COMPATIBILITY 相容性

 這條命令遵循 SQL 標準。FROM 子句是 PostgreSQL 擴充套件。

譯者
Postgresql 中文網站 何偉平 <laser@pgsqldb.org>

跋
本頁面中文版由中文 man 手冊頁計劃提供。
中文 man 手冊頁計劃：https://github.com/man-pages-zh/manpages-zh