SQL

【SQL】UPDATE文の書き方(レコードの更新)

2021年2月7日

【SQL】UPDATE文の基本構文

SQLのUPDATE文を使うことで、データベーステーブルのレコードを更新できます。

UPDATE文の基本構文

UPDATE  テーブル名
SET 列名  =  値
WHERE  更新条件;

本記事では、SQLのUPDATE文を用いてテーブルのレコードを更新する方法について解説しています。

UPDATE文の書き方

テーブルのレコードを更新する

それでは、UPDATE文を用いて「item」テーブルのレコードを更新します。

■更新前の「item」テーブル

> SELECT * FROM item;
+----+-------+-------+----------+
| id | name  | price | category |
+----+-------+-------+----------+
|  1 | 商品A |  1980 | 書籍     |
|  2 | 商品B |  4980 | 家具     |
|  3 | 商品C |  7200 | 家具     |
|  4 | 商品D |   500 | 書籍     |
|  5 | 商品E |   980 | 書籍     |
+----+-------+-------+----------+
5 rows in set (0.01 sec)

■UPDATE文の例(id = 5のpriceを980→1500に更新)

UPDATE
    item
SET
    price = '1500'
WHERE
    id = '5';

■更新後の「item」テーブル

> SELECT * FROM item;
+----+-------+-------+----------+
| id | name  | price | category |
+----+-------+-------+----------+
|  1 | 商品A |  1980 | 書籍     |
|  2 | 商品B |  4980 | 家具     |
|  3 | 商品C |  7200 | 家具     |
|  4 | 商品D |   500 | 書籍     |
|  5 | 商品E |  1500 | 書籍     |
+----+-------+-------+----------+
5 rows in set (0.01 sec)

UPDATE文により「id = 5」のレコードの「price」を「980→1500」に更新した結果、「price」が1500に更新されました。

スポンサーリンク

テーブルの複数列を更新する

続いては、UPDATE文を用いて「item」テーブルの複数列を更新します。複数列を更新する場合は,(カンマ)区切りで更新対象の列を指定します。

■更新前の「item」テーブル

> SELECT * FROM item;
+----+-------+-------+----------+
| id | name  | price | category |
+----+-------+-------+----------+
|  1 | 商品A |  1980 | 書籍     |
|  2 | 商品B |  4980 | 家具     |
|  3 | 商品C |  7200 | 家具     |
|  4 | 商品D |   500 | 書籍     |
|  5 | 商品E |  1500 | 書籍     |
+----+-------+-------+----------+
5 rows in set (0.01 sec)

■UPDATE文の例(id = 5のnameを「商品E→新商品」、categoryを「書籍→雑貨」に更新)

UPDATE
    item
SET
    name = '新商品'
    , category = '雑貨'
WHERE
    id = '5';

■更新後の「item」テーブル

> SELECT * FROM item;
+----+--------+-------+----------+
| id | name   | price | category |
+----+--------+-------+----------+
|  1 | 商品A  |  1980 | 書籍     |
|  2 | 商品B  |  4980 | 家具     |
|  3 | 商品C  |  7200 | 家具     |
|  4 | 商品D  |   500 | 書籍     |
|  5 | 新商品 |  1500 | 雑貨     |
+----+--------+-------+----------+
5 rows in set (0.01 sec)

UPDATE文により「id = 5」のレコードの「name」を「商品E→新商品」、「category」を「書籍→雑貨」に更新した結果、「name」が新商品、「category」が雑貨に更新されました。

helpful