PostgreSQL 更新 PostgreSQL 选择 PostgreSQL 删除 PostgreSQL 更新 在本教程中,我们将学习用于更新表中当前数据的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子句中修改其值的列名。我们可以使用逗号 (,)来分隔每一对column 和 values。 Where 我们将使用WHERE 子句来过滤记录并只获取必要的记录。 Condition 它是一个表达式,用于返回Boolean类型的值。并且此表达式仅对行返回true。 PostgreSQL 更新命令示例 为了更好地理解,我们将看到PostgreSQL更新命令的示例。 我们将采用我们在插入命令部分创建的部门表。 首先,我们将在以下命令的帮助下看到部门表的结构: SELECT * FROM 部门; 执行select命令后,我们将得到以下结果: PostgreSQL UPDATE 表示例 在这里,我们将使用以下命令的帮助将last_update列的NULL值修改为当前日期: UPDATE department SET last_update = DEFAULT WHERE last_update IS NULL; 执行上述命令后,我们将得到以下结果: 在上面的查询中,我们将DEFAULT 关键字应用于last_update列,该列将当前日期作为默认值。并且WHERE 子句仅更新last_update列值为NULL 的那些行。 使用 Update 命令升级表中所有行的示例 要将部门表中所有行的位置列中的值更新为USA,我们使用以下命令: 注意:在下面的更新命令中,我们忽略了 WHERE 子句: UPDATE department SET location = 'U.S.A'; 在执行上面的查询后,将更新位置列在部门表: 我们将使用select命令在部门表中验证上述命令的输出: select* from department; 在同一个表中,我们还可以从附加列更新列的数据。 下面的命令用于复制DEPT_NAME列值的描述栏的的部门表: UPDATE department SET description = dept_name; 一旦我们执行上面的查询,将更新的描述列在部门表: 在那之后,我们将使用选择命令来查看更新的列(介绍)在部门表: PostgreSQL 更新连接命令示例 在这里,我们将采取department_tmp表,它具有相同的结构部门表: 以下命令用于更新来自于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表: 为了验证Department_tmp表,我们将使用Select命令: SELECT * FROM department_tmp; 并且,我们将得到以下输出: 注意:在上面的update命令中,我们使用了FROM子句来描述更新中包含的第二个表(部门)。 这里我们在WHERE 子句中使用了连接条件。有时,此 UPDATE 命令被称为UPDATE INNER JOIN 或 UPDATE JOIN,因为UPDATE命令中涉及两个或多个表。 通过返回条件更新命令 默认情况下,更新命令可以返回受影响的行数,并且在返回部分的帮助下也返回有效数据。 下面的命令来更新与该行DEPT_ID 1在部门表并返回更新的数据。 UPDATE department SET description = 'Names of departments', location = 'NewYork' WHERE dept_id = 1 RETURNING dept_id, description, location; 执行上述命令后,我们将得到下表结构: 之后,我们将使用select命令检查部门表中更新的数据: SELECT * FROM department WHERE dept_id = 1; 运行上面的 Select 查询后,我们会得到以下输出: PostgreSQL 选择 PostgreSQL 删除