PostgreSQL-UPDATEクエリ
PostgreSQL UPDATEクエリは、テーブル内の既存のレコードを変更するために使用されます。WHERE句をUPDATEクエリとともに使用して、選択した行を更新できます。そうしないと、すべての行が更新されます。
構文
WHERE句を使用したUPDATEクエリの基本的な構文は次のとおりです。
UPDATE table_name
SET column1 = value1, column2 = value2...., columnN = valueN
WHERE [condition];
ANDまたはOR演算子を使用して、N個の条件を組み合わせることができます。
例
次のようなレコードを持つテーブルCOMPANYについて考えてみます。
testdb# select * from COMPANY;
id | name | age | address | salary
----+-------+-----+-----------+--------
1 | Paul | 32 | California| 20000
2 | Allen | 25 | Texas | 15000
3 | Teddy | 23 | Norway | 20000
4 | Mark | 25 | Rich-Mond | 65000
5 | David | 27 | Texas | 85000
6 | Kim | 22 | South-Hall| 45000
7 | James | 24 | Houston | 10000
(7 rows)
以下は、IDが6 −である顧客のADDRESSを更新する例です。
testdb=# UPDATE COMPANY SET SALARY = 15000 WHERE ID = 3;
これで、COMPANYテーブルには次のレコードが含まれます-
id | name | age | address | salary
----+-------+-----+------------+--------
1 | Paul | 32 | California | 20000
2 | Allen | 25 | Texas | 15000
4 | Mark | 25 | Rich-Mond | 65000
5 | David | 27 | Texas | 85000
6 | Kim | 22 | South-Hall | 45000
7 | James | 24 | Houston | 10000
3 | Teddy | 23 | Norway | 15000
(7 rows)
COMPANYテーブルのすべてのADDRESS列とSALARY列の値を変更する場合は、WHERE句を使用する必要はなく、UPDATEクエリは次のようになります。
testdb=# UPDATE COMPANY SET ADDRESS = 'Texas', SALARY=20000;
これで、COMPANYテーブルには次のレコードが含まれます-
id | name | age | address | salary
----+-------+-----+---------+--------
1 | Paul | 32 | Texas | 20000
2 | Allen | 25 | Texas | 20000
4 | Mark | 25 | Texas | 20000
5 | David | 27 | Texas | 20000
6 | Kim | 22 | Texas | 20000
7 | James | 24 | Texas | 20000
3 | Teddy | 23 | Texas | 20000
(7 rows)