PostgreSQL update 更新数据
在 PostgreSQL 数据库中,可以使用 update 语句更新表记录,where 子句用于过虑要更新的数据行,如果没有指定 where 子句,则将会更新所有行。
1. update 更新数据语法
下面是 update 语句的完整语法:
[ WITH [ RECURSIVE ] with_query [, ...] ] UPDATE [ ONLY ] table_name [ * ] [ [ AS ] alias ] SET { column_name = { expression | DEFAULT } | ( column_name [, ...] ) = [ ROW ] ( { expression | DEFAULT } [, ...] ) | ( column_name [, ...] ) = ( sub-SELECT ) } [, ...] [ FROM from_item [, ...] ] [ WHERE condition | WHERE CURRENT OF cursor_name ] [ RETURNING * | output_expression [ [ AS ] output_name ] [, ...] ]
update 完整语法各类很多,也很复杂,在日常工作中只需掌握 update 基本语法即可,如下:
UPDATE table_name SET column1 = value1, column2 = value2...., columnN = valueN WHERE [condition];
2. update 使用示例
下面举个例子,创建一张表 t,包含 2 个字段 id 和 name,并插入两条记录,如下:
postgres=# create table t(id int, name text); CREATE TABLE postgres=# insert into t values(1,'A'),(2,'B'); INSERT 0 2 postgres=# select * from t; id | name ----+------ 1 | A 2 | B (2 rows)
将 id 为 2 的记录更新其 name ,从 B 更新为 C,更新之后再次查询,可以看到该记录已更新,如下:
postgres=# update t set name='C' where id = 2; UPDATE 1 postgres=# select * from t; id | name ----+------ 1 | A 2 | C (2 rows)
文章评论
共0条评论