概要


https://docs.google.com/presentation/d/e/2PACX-1vRvpj-7LcTUxqRVO_TFo7isOfmSyCwrsEilqedDErIQR3gA0MK_mcFbagh9ZcKhObI-7JXt9XUyu5MN/embed?start=false&loop=false&delayms=3000

すでに作成されたレコードに対して値を更新したい場合、UPDATEの構文を使用します。スライドにあるようにtaroのageを35から40に変更したい場合、以下のようなSQLを実行します。

UPDATE
	person
SET
	age = 40
WHERE
	name = 'taro';    

UPDATEと記載した後に、更新したいテーブル名を記載します。SETの後には、更新したい内容を記載します。ここではage = 40としているので、ageという項目を40に変更するという意図となります。WHEREのあとは、更新を行う条件を記載します。なお、WHEREは省略が可能で、省略した場合は全レコードに対して更新処理が行われます。これはよくあるデータ更新ミスの原因となるので、注意が必要です。

実際に更新してみる


それでは、実際にレコードの更新をしてみましょう。先程紹介したSQLを実行していきます。

UPDATE
	person
SET
	age = 40
WHERE
	name = 'taro';  

そうすると、以下の正常終了のメッセージが表示されます。

Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

実際にageが更新されているか、SELECTのSQLを実行して確認してみましょう。

SELECT 
	*
FROM
	person;

抽出されたレコードのageが40になっていたら、成功です

+------+------+
| name | age  |
+------+------+
| taro |   40 |
| jiro |   25 |
+------+------+
2 rows in set (0.00 sec)