PostgreSQL教程

PostgreSQL UPDATE

在本教程中,我们将学习用于更新表中当前数据的 PostgreSQL UPDATE 命令。
在 PostgreSQL 中,使用UPDATE命令 更改表中的当前记录 。要更新选定的行,我们必须使用 WHERE子句;否则将更新所有行。

更新命令的语法

更新命令的语法如下:
UPDATE table_name  
SET column1 = value1, 
column2 = value2...., 
columnN = valueN  
WHERE 
condition;  
我们具有以下参数,用于以上语法中:
参数 说明
UPDATE 它是一个关键字,用于更新表的行。
Table_name 在UPDATE子句之后,我们将使用此参数定义表名以更新数据。
Column1 = value1,
Column2 = value2,
......
ColumnN = valueN
它用于在需要在 SET 子句中修改其值的表中描述列的名称。我们可以使用逗号(,)分隔每对列和值
WHERE 我们将使用 WHERE子句过滤记录并仅提取基本记录。
condition 它是一个表达式,用于返回 Boolean 类型的值。并且此表达式仅对行返回 true

PostgreSQL更新命令示例

为了更好地理解,我们将看到 PostgreSQL 更新命令
我们将使用在 插入命令中创建的department表部分
首先,借助以下命令,我们将看到 department表的结构:
SELECT * FROM department;
执行select命令后,我们将得到以下结果:
PostgreSQL更新

PostgreSQL UPDATE表的示例

在这里,我们将 last_update 列的 NULL 值修改为 当前日期,并使用以下命令的帮助:
UPDATE department
SET last_update = DEFAULT
WHERE
last_update IS null;
执行上述命令后,我们将得到以下结果:
PostgreSQL更新
在在上述查询中,我们将 DEFAULT关键字应用于 last_update 列,该列采用默认值 当前日期。并且 WHERE子句仅更新 last_update 列值为 NULL 的那些行。

示例Update命令升级表中所有行的操作

要为 中的所有行将位置列中的值更新为 USA department表中,我们使用以下命令:
注意: 在以下更新命令中,我们忽略了WHERE子句:
UPDATE department
SET location = 'U.S.A';
执行上述查询后,它将更新 department表中的位置列:
PostgreSQL更新
我们将使用 select命令department表中验证以上命令的输出:
select* from department;

PostgreSQL更新
在同一表中,我们还可以从其他列中更新列的数据。
以下命令用于将 dept_name 列的值复制到 department表的 description列中:
UPDATE department
SET description = dept_name;
执行上述查询后,它将更新 department表中的说明列:
PostgreSQL更新
此后,我们将使用select命令在 department中查看更新的列(描述) strong>表:
PostgreSQL更新

PostgreSQL更新联接示例

在这里,我们将使用 department_tmp表,该表的结构与 department 表相同:
以下命令用于更新值,该值来自 department表 department_tmp 表中的列:
UPDATE department_tmp
SET location = department.location,
description = department.description,
last_update = department.last_update
FROM
department
WHERE
department_tmp.Dept_id = department.Dept_id;
执行上述查询后,它将更新 department_tmp表:
PostgreSQL Update
要验证 department_tmp 表,我们将使用 Select 命令:
SELECT * FROM department_tmp; 
然后,我们将获得以下输出:
PostgreSQL更新
注意: 在上面的update命令中,我们使用FROM子句描述了包含在更新中的第二个表(department)。
此处,我们在 WHERE子句中使用了连接条件。有时,此UPDATE命令称为 UPDATE INNER JOIN或UPDATE JOIN ,因为 UPDATE 命令涉及两个或多个表。

通过返回条件更新命令

默认情况下, 更新命令可以返回受影响的行数,并且还可以在 返回的帮助下返回有效数据部分
以下命令用于更新 department表中具有 Dept_id 1 的行,并返回已更新的 数据
UPDATE department
SET description = 'Names of departments',
location = 'NewYork'
WHERE
dept_id = 1 
RETURNING dept_id,
description,
location;
执行上述命令后,我们将获得以下表结构:
PostgreSQL更新
之后,我们将使用select命令检查 department表中的更新数据:
SELECT
*
FROM
department
WHERE
dept_id = 1;
运行上面的Select查询后,我们将获得以下输出:
PostgreSQL更新
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4