EN
PostgreSQL - Update multiple rows at once
0
points
In this article, we would like to show you how to update multiple rows at once in PostgreSQL.
Quick solution:
UPDATE "table_name"
SET "column1" = value1, "column2" = value2, "columnN" = valueN
WHERE condition;
Practical example
To show you how to update multiple rows at once, we will use the following users
table:
Note:
At the end of this article you can find database preparation SQL queries.
Example
In this example, we will update department_id
and salary
value of the first three users from the users
table.
Query
UPDATE "users"
SET "department_id" = 5, "salary" = 6000
WHERE "id" <= 3;
or
UPDATE "users"SET "department_id" = 5, "salary" = 6000 WHERE "id" = 1;
UPDATE "users"SET "department_id" = 5, "salary" = 6000 WHERE "id" = 2;
UPDATE "users"SET "department_id" = 5, "salary" = 6000 WHERE "id" = 3;
Result:
Database preparation
create_tables.sql
file:
CREATE TABLE "users" (
"id" SERIAL,
"name" VARCHAR(50) NOT NULL,
"surname" VARCHAR(50) NOT NULL,
"department_id" INTEGER,
"salary" DECIMAL(15,2) NOT NULL,
PRIMARY KEY ("id")
);
insert_data.sql
file:
INSERT INTO "users"
( "name", "surname", "department_id", "salary")
VALUES
('John', 'Stewart', 1, '6000'),
('Chris', 'Brown', 2, '6000'),
('Kate', 'Lewis', 3, '4000'),
('Ailisa', 'Gomez', NULL, '4000'),
('Gwendolyn', 'James', NULL, '4000'),
('Simon', 'Collins', 4, '4000'),
('Taylor', 'Martin', 2, '2000'),
('Andrew', 'Thompson', NULL, '2000');