UPDATEクエリ
SQL UPDATE Queryは、テーブル内の既存のレコードを変更するために使用されます。UPDATE問合せでWHERE句を使用すると、選択した行を更新できます。そうしないと、すべての行が影響を受けます。
構文
WHERE句を使用したUPDATEクエリの基本的な構文は次のとおりです。
UPDATE table_name SET column1 = value1, column2 = value2...., columnN = valueN WHERE [condition];
AND演算子またはOR演算子を使用してN個の条件を組み合わせることができます。
例
次のレコードを持つCUSTOMERSテーブルを考えてみましょう。
+----+----------+-----+-----------+----------+ | ID | NAME | AGE | ADDRESS | SALARY | +----+----------+-----+-----------+----------+ | 1 | kenta1 | 32 | Ahmedabad | 2000.00 | | 2 | kenta2 | 25 | Delhi | 1500.00 | | 3 | kenta3 | 23 | Kota | 2000.00 | | 4 | kenta5 | 25 | Mumbai | 6500.00 | | 5 | kenta6 | 27 | Bhopal | 8500.00 | | 6 | kenta7 | 22 | MP | 4500.00 | | 7 | kenta8 | 24 | Indore | 10000.00 | +----+----------+-----+-----------+----------+
次のクエリは、テーブルのID番号が6の顧客のADDRESSを更新します。
SQL> UPDATE CUSTOMERS SET ADDRESS = 'Pune' WHERE ID = 6;
今、CUSTOMERSテーブルには次のレコードがあります。
+----+----------+-----+-----------+----------+ | ID | NAME | AGE | ADDRESS | SALARY | +----+----------+-----+-----------+----------+ | 1 | kenta1 | 32 | Ahmedabad | 2000.00 | | 2 | kenta2 | 25 | Delhi | 1500.00 | | 3 | kenta3 | 23 | Kota | 2000.00 | | 4 | kenta4 | 25 | Mumbai | 6500.00 | | 5 | kenta5 | 27 | Bhopal | 8500.00 | | 6 | kenta6 | 22 | Pune | 4500.00 | | 7 | kenta7 | 24 | Indore | 10000.00 | +----+----------+-----+-----------+----------+
CUSTOMERSテーブルのすべてのADDRESS列とSALARY列の値を変更する場合は、次のコードブロックに示すようにUPDATEクエリで十分であるため、WHERE句を使用する必要はありません。
SQL> UPDATE CUSTOMERS SET ADDRESS = 'Pune', SALARY = 1000.00;
今、CUSTOMERSテーブルには次のレコードがあります。
+----+----------+-----+---------+---------+ | ID | NAME | AGE | ADDRESS | SALARY | +----+----------+-----+---------+---------+ | 1 | kenta1 | 32 | Pune | 1000.00 | | 2 | kenta2 | 25 | Pune | 1000.00 | | 3 | kenta3 | 23 | Pune | 1000.00 | | 4 | kenta4 | 25 | Pune | 1000.00 | | 5 | kenta5 | 27 | Pune | 1000.00 | | 6 | kenta6 | 22 | Pune | 1000.00 | | 7 | kenta7 | 24 | Pune | 1000.00 | +----+----------+-----+---------+---------+