【SQL】データを更新するUPDATEの使い方を解説する!

Web技術
スポンサーリンク

テーブルのデータ更新ってどうやってやるの?

UPDATE文の使い方がわからない。

わかりやすく教えてほしい!

こういった疑問にこたえます。

この記事を読めば
  • テーブルのデータを更新できるようになる
  • UPDATE文の使い方がわかる

エンジニアの僕がわかりやすく解説します。

UPDATE文の使い方

UPDATE文はテーブルのデータを更新する場合に使います。

UPDATE文の基本

テーブルに一度登録したデータを変更したい場合、DELETEして再度INSERTする必要はありません。

UPDATE文を使えばデータを更新できます。

UPDATE文の構文は次の通りです。

UPDATE <テーブル名> SET <列名> = <式>;

更新対処の列と更新後の値をSET句に記述します。

例えば、次のようなshohinテーブルがあったとします。

shohin_idshohin_meishohin_bunruikakaku
‘0001’‘鉛筆’‘事務用品’100
‘0002’‘ボールペン’‘事務用品’100
‘0003’‘Tシャツ’‘衣類’1000
‘0004’‘鍋’‘キッチン用品’2000
‘0005‘包丁’‘キッチン用品’1500
‘0006’‘帽子’‘衣類’NULL
商品テーブル

このshohinテーブルのkakakuを1000に変更したい場合は次のようなSQLになります。

UPDATE shohin SET kakaku = 1000;

実行するとkakaku列の全行が1000に更新されます。

shohin_idshohin_meishohin_bunruikakaku
‘0001’‘鉛筆’‘事務用品’1000
‘0002’‘ボールペン’‘事務用品’1000
‘0003’‘Tシャツ’‘衣類’1000
‘0004’‘鍋’‘キッチン用品’1000
‘0005‘包丁’‘キッチン用品’1000
‘0006’‘帽子’‘衣類’1000
商品テーブル

条件を指定したUPDATE文

一部の行のデータを更新する場合はWHERE句を使って対象行を指定する必要があります。

対象行を指定した更新を「探索型UPDATE」と呼びます。

探索型UPDATEの構文は次の通りです。

UPDATE <テーブル名> SET <列名> = <式> WHERE <条件>;

例えば、先ほどUPDATEでkakakuを1000に更新したテーブルでshohin_bunruiがキッチン用品のkakakuだけ2000に更新したい場合は次のようなSQLになります。

UPDATE shohin SET kakaku = 2000 WHERE shohin_bunrui = 'キッチン用品';

実行結果

shohin_idshohin_meishohin_bunruikakaku
‘0001’‘鉛筆’‘事務用品’1000
‘0002’‘ボールペン’‘事務用品’1000
‘0003’‘Tシャツ’‘衣類’1000
‘0004’‘鍋’‘キッチン用品’2000
‘0005‘包丁’‘キッチン用品’2000
‘0006’‘帽子’‘衣類’1000
商品テーブル

複数列を更新する方法

UPDATE文のSET句には複数の列を更新対象として指定することが可能です。

例えば、shohin_idが0006のshohin_meiとshohin_bunruiを変更したい場合は次のように記述します。

UPDATE shohin
  SET shohin_mei = '消しゴム', shohhin_bunrui = '事務用品'
WHERE shohin_id = '0006';

実行結果

shohin_idshohin_meishohin_bunruikakaku
‘0001’‘鉛筆’‘事務用品’1000
‘0002’‘ボールペン’‘事務用品’1000
‘0003’‘Tシャツ’‘衣類’1000
‘0004’‘鍋’‘キッチン用品’2000
‘0005‘包丁’‘キッチン用品’2000
‘0006’‘消しゴム’‘事務用品’1000
商品テーブル

UPDATE文の使い方まとめ

解説の内容をまとめます。

  • テーブルのデータを更新する場合はUPDATE文を使う
  • 更新対処の列と更新後の値をSET句に記述する
  • 一部の行のデータを更新する場合はWHERE句に条件を記述する
  • 複数列を更新したい場合はSET句に複数の列を更新対象として指定する

以上、お疲れ様でした。

コメント

タイトルとURLをコピーしました