MySQLのUPDATE文とは?初心者でもわかる丁寧な解説

こんにちは。ゆうせいです。

今回は、データベースを操作するときによく使う MySQLのUPDATE文 について、初心者にもわかるように丁寧に解説していきます。SQLの中でも特に実務で使う頻度が高いこのコマンド、きちんと理解しておきたいですね。


MySQLのUPDATE文ってなに?

データベースの「上書き」係

UPDATE文は、すでに存在しているデータを書き換える(上書きする)ための命令です。
たとえば、社員の住所が変わったとき、その情報を修正するのに使われます。

UPDATE文の基本構文

UPDATE テーブル名
SET カラム名1 = 値1, カラム名2 = 値2
WHERE 条件;

読み方としては、

  • 「このテーブルの」
  • 「このカラムの値を」
  • 「この条件に当てはまるデータだけに対して」
  • 「こう変更しなさい」

という命令になります。


具体的な例で見てみよう!

例1:社員の住所を更新

たとえば、employeesテーブルで「IDが5の人の住所を変えたい」ときはこんな感じ:

UPDATE employees
SET address = '新宿区'
WHERE id = 5;

ポイント:WHERE句は絶対に忘れないように!

もしWHERE句を省略すると…なんとすべてのレコードが書き換えられてしまうんです!
これは本当に注意が必要です。消しゴムで全部の名前を消してしまうようなもの。


SET句で複数のカラムを同時に更新できる

UPDATE employees
SET address = '新宿区', phone = '03-1234-5678'
WHERE id = 5;

このように、カンマで区切ればいくつもの項目を一度に変更できます。
まるで一度に何枚もの履歴書を修正するような感じですね。


WHERE句の条件を工夫しよう

条件で対象を絞り込む

例:

UPDATE employees
SET salary = salary * 1.1
WHERE department = '営業';

このように、特定の部署だけを対象にして給料を10%アップ、なんてこともできます。

条件がないとどうなるか?

UPDATE employees
SET salary = salary * 1.1;

→ 全社員の給料が10%アップします。

これは意図した動作ならOKですが、そうでないなら大問題です!


数式を使ったUPDATEも可能!

たとえば、価格を8%増やすなら:

UPDATE products
SET price = price * 1.08;

これは「新しい価格 = 現在の価格 × 1.08」と同じです。
日本語にすると:

価格 = 価格 × 1.08

このように、計算を含んだ更新も簡単にできます!


UPDATE文のメリットとデメリット

項目内容
メリット一部のデータだけを簡単に変更できる
メリット条件を付ければ特定の行だけ変更できる
デメリットWHEREを間違えると全データが変わる危険あり
デメリットバックアップがないと元に戻せない

つまり、慎重さが求められるコマンドだということですね!


よくあるミスとその防ぎ方

WHERE句を忘れる

→ 防ぐには、まずSELECT文で対象を確認しましょう。

SELECT * FROM employees WHERE id = 5;

この結果を見てから、同じ条件でUPDATEを実行するのが安全です!

NULLとの扱いを間違える

NULLは「値がない」という特殊な状態。
たとえば、NULLを条件に使うときはこんなふうに書きます:

UPDATE employees
SET phone = '未登録'
WHERE phone IS NULL;

= NULLではなく、IS NULLを使う必要があります。


UPDATE文を実行する前のチェックリスト

  • 必ずWHERE句があるか確認
  • SELECT文で対象レコードを先に確認
  • 必要ならLIMITで件数を制限
  • 本番前にバックアップをとる

今後の学習ステップ

UPDATE文を理解したら、次のステップとして以下のトピックがおすすめです:

  • トランザクション(複数のUPDATEをまとめて行う方法)
  • ROLLBACK(間違ったら戻す方法)
  • サブクエリとJOINを使ったUPDATE
  • 条件付きCASE文の活用

特にJOINを使ったUPDATEは応用的で、実務でもよく使います。


もっと知りたいことがあれば、遠慮なく聞いてくださいね!

セイ・コンサルティング・グループの新人エンジニア研修のメニューへのリンク

投稿者プロフィール

山崎講師
山崎講師代表取締役
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。