九月 6, 2023
摘要:在本教程中,您将学习如何使用 PostgreSQL 的UPDATE
语句来更新表中的现有数据。
目录
PostgreSQL UPDATE 语句简介
PostgreSQL 的UPDATE
语句允许您修改表中的数据。下面说明了UPDATE
语句的语法:
UPDATE table_name
SET column1 = value1,
column2 = value2,
...
WHERE condition;
在这个语法中:
- 首先,在
UPDATE
关键字后指定要更新数据的表的名称。 - 其次,在
SET
关键字后指定列及其新值。SET
子句中未出现的列保留其原始值。 - 第三,确定在 WHERE 子句的条件下要更新哪些行。
WHERE
子句是可选的。如果省略WHERE
子句,UPDATE
语句将更新表中的所有行。
当UPDATE
语句执行成功时,会返回以下命令标签:
UPDATE count
count
是更新的行数,包括值未更改的行。
返回更新的行
UPDATE
语句有一个可选的RETURNING
子句,用于返回更新的行:
UPDATE table_name
SET column1 = value1,
column2 = value2,
...
WHERE condition
RETURNING * | output_expression AS output_name;
PostgreSQL UPDATE 示例
让我们看一些使用 PostgreSQL 的UPDATE
语句的示例。
设置样例表
以下语句创建一个表,名为courses
,并向其中插入一些数据:
DROP TABLE IF EXISTS courses;
CREATE TABLE courses(
course_id serial primary key,
course_name VARCHAR(255) NOT NULL,
description VARCHAR(500),
published_date date
);
INSERT INTO
courses(course_name, description, published_date)
VALUES
('PostgreSQL for Developers','A complete PostgreSQL for Developers','2020-07-13'),
('PostgreSQL Admininstration','A PostgreSQL Guide for DBA',NULL),
('PostgreSQL High Performance',NULL,NULL),
('PostgreSQL Bootcamp','Learn PostgreSQL via Bootcamp','2013-07-11'),
('Mastering PostgreSQL','Mastering PostgreSQL in 21 Days','2012-06-30');
以下语句返回courses
表中的数据:
SELECT * FROM courses;
1) PostgreSQL UPDATE – 更新一行
以下语句使用UPDATE
语句更新 ID 为 3 的课程。它将published_date
列从NULL
更改为'2020-08-01'
。
UPDATE courses
SET published_date = '2020-08-01'
WHERE course_id = 3;
该语句返回以下消息,表明一行已更新:
UPDATE 1
以下语句查询 ID 为 3 的课程来验证更新:
SELECT * FROM courses
WHERE course_id = 3;
2) PostgreSQL UPDATE – 更新行并返回更新后的行
以下语句更新 ID 为 2 的课程。它将课程的published_date
修改为2020-07-01
,并返回更新后的课程。
UPDATE courses
SET published_date = '2020-07-01'
WHERE course_id = 2
RETURNING *;
概括
-
使用 PostgreSQL 的
UPDATE
语句更新表的一列或多列中的数据。 -
使用
RETURNING
子句从UPDATE
语句中返回更新的行。