SQLServer update语句用法
UPDATE语句用于创建一个更新查询,根据指定的条件更改指定表中的字段值。UPDATE语句不生成结果集,而且当使用更新查询更新记录之后,不能取消这次操作。
语法:UPDATE table SET newvalue WHERE criteria
说明:table参数指定表的名称,其中包含要更改的数据。
newvalue参数为一个表达式,用来计算要插入更新记录中特定字段的值。
criteria参数为一个表达式,用来指定被更新的记录。只有符合表达式的记录才会被更新。
名称
UPDATE — 替换表中列/字段的数值
语法
UPDATE table SET col = expression [, ...] [ FROM fromlist ] [ WHERE condition ]
- table
- 现存表的名称.
- column
- 表 table 中列/字段的名.
- expression
- 赋予列/字段的一个有效的值或表达式.
- fromlist
- Postgres 的一个非标准的扩展,允许别的表中的列/字段出现在 WHERE 条件里.
- condition
输入
- 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 表示一个打开的游标.