カテゴリ: データベース 更新日: 2026/02/17

SQLのUPDATE文を完全ガイド!初心者でもわかるデータの更新方法

UPDATE文(データの更新)
UPDATE文(データの更新)

新人と先輩の会話形式で理解しよう

新人

「データベースの情報を変更するにはどうしたらいいですか?」

先輩

「データを更新するには、SQLのUPDATE文を使うよ。」

新人

「UPDATE文って何ですか?」

先輩

「UPDATE文を使うと、既存のデータを変更できるんだ。まずは、使用するテーブルを確認してみよう!」

1. 今回使用するテーブルデータ

1. 今回使用するテーブルデータ
1. 今回使用するテーブルデータ

今回のSQLの解説では、社員情報を管理するemployeeテーブルを使用します。このテーブルには、社員のidnameagedepartmentsalaryの情報が格納されています。

id name age department salary
1田中 太郎30営業5000000
2佐藤 花子25マーケティング4200000
3鈴木 一郎35開発6000000
4高橋 直子28人事4800000
5山本 健太40経理5500000

2. UPDATE文の基本

2. UPDATE文の基本
2. UPDATE文の基本

SQLのUPDATE文を使うと、既存のデータを変更することができます。基本の構文は次のようになります。


UPDATE employee 
SET salary = 5200000 
WHERE id = 1;

このSQL文は、employeeテーブルのid1の社員のsalary(給与)を5200000に変更します。

このSQLを実行すると、データが変更され、テーブルの内容は以下のようになります。

id name age department salary
1田中 太郎30営業5200000
2佐藤 花子25マーケティング4200000
3鈴木 一郎35開発6000000
4高橋 直子28人事4800000
5山本 健太40経理5500000

このように、UPDATE文を使うことで、特定のデータを簡単に変更できます。

3. 複数のカラムを同時に更新する方法

3. 複数のカラムを同時に更新する方法
3. 複数のカラムを同時に更新する方法

SQLのUPDATE文では、複数のカラムを同時に更新することができます。更新したいカラムをカンマ,で区切って指定します。


UPDATE employee 
SET age = 31, salary = 5300000 
WHERE id = 1;

このSQLを実行すると、id=1の社員の年齢を31に、給与を5300000に変更します。

id name age department salary
1田中 太郎31営業5300000
2佐藤 花子25マーケティング4200000
3鈴木 一郎35開発6000000
4高橋 直子28人事4800000
5山本 健太40経理5500000

このように、複数のカラムを同時に更新することで、データの変更を効率よく行えます。

4. WHERE句を活用して特定の行のみ更新する

4. WHERE句を活用して特定の行のみ更新する
4. WHERE句を活用して特定の行のみ更新する

データを更新する際に、WHERE句を使用すると、特定の条件に一致する行だけを更新できます。


UPDATE employee 
SET salary = 5600000 
WHERE department = '開発';

このSQLを実行すると、開発部門の社員の給与を5600000に更新します。

id name age department salary
1田中 太郎31営業5300000
2佐藤 花子25マーケティング4200000
3鈴木 一郎35開発5600000
4高橋 直子28人事4800000
5山本 健太40経理5500000

このように、WHERE句を活用することで、特定の条件に一致するデータのみを変更できます。

5. 全ての行を一括更新する方法

5. 全ての行を一括更新する方法
5. 全ての行を一括更新する方法

テーブル内のすべてのデータを更新したい場合は、WHERE句を省略します。これにより、テーブル内のすべての行が更新されます。


UPDATE employee 
SET salary = salary + 100000;

このSQL文は、全社員の給与を100000円増加させます。

id name age department salary
1田中 太郎31営業5400000
2佐藤 花子25マーケティング4300000
3鈴木 一郎35開発5700000
4高橋 直子28人事4900000
5山本 健太40経理5600000

このように、WHERE句を省略すると、全データが一括で更新されるため、注意が必要です。

6. よくあるエラーと対策

6. よくあるエラーと対策
6. よくあるエラーと対策

初心者がSQLのUPDATE文を使う際に、よく発生するエラーとその対策を紹介します。

1. WHERE句を忘れて全データを更新してしまう

間違えてWHERE句を指定しないと、テーブル内のすべてのデータが更新されてしまいます。


UPDATE employee SET salary = 6000000;

エラー内容: 全社員の給与が6000000に変更されてしまう。

対策: WHERE句を必ず指定する。


UPDATE employee SET salary = 6000000 WHERE id = 3;

2. 存在しないカラムを指定してしまう

誤ったカラム名を指定するとエラーになります。


UPDATE employee SET salry = 6000000 WHERE id = 3;

エラー内容: ERROR: Unknown column 'salry' in 'field list'

対策: カラム名が正しいか確認する。


UPDATE employee SET salary = 6000000 WHERE id = 3;

7. UPDATEとJOINを組み合わせた更新

7. UPDATEとJOINを組み合わせた更新
7. UPDATEとJOINを組み合わせた更新

別のテーブルの情報を使ってデータを更新する場合、JOINを活用することができます。

例えば、新しくsalary_updateというテーブルがあり、社員の給与が変更された場合を考えます。

id new_salary
15500000
36300000

このsalary_updateテーブルを使って、employeeテーブルのsalaryを更新するには、次のように記述します。


UPDATE employee 
JOIN salary_update ON employee.id = salary_update.id
SET employee.salary = salary_update.new_salary;

このSQLを実行すると、対象の社員の給与が新しい金額に更新されます。

id name age department salary
1田中 太郎31営業5500000
2佐藤 花子25マーケティング4300000
3鈴木 一郎35開発6300000
4高橋 直子28人事4900000
5山本 健太40経理5600000

このように、JOINを使うと、別のテーブルのデータをもとに更新が可能になります。

8. サブクエリを利用したUPDATE

8. サブクエリを利用したUPDATE
8. サブクエリを利用したUPDATE

サブクエリ(入れ子のSQL)を使用すると、特定の条件に一致するデータを別のテーブルから取得して更新できます。

例えば、employeeテーブルの中で、給与の平均値より低い社員の給与を、平均値に合わせるとします。


UPDATE employee 
SET salary = (SELECT AVG(salary) FROM employee) 
WHERE salary < (SELECT AVG(salary) FROM employee);

このSQLを実行すると、給与が平均以下の社員の給与が平均値に更新されます。

id name age department salary
1田中 太郎31営業5300000
2佐藤 花子25マーケティング5300000
3鈴木 一郎35開発6300000
4高橋 直子28人事5300000
5山本 健太40経理5600000

このように、サブクエリを利用すると、複雑な条件を満たすデータを抽出して更新できます。

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

SQLのUPDATE文とは何ですか?初心者にもわかりやすく教えてください。

SQLのUPDATE文とは、データベースのテーブル内に既に保存されている既存のデータを書き換えるための命令(クエリ)です。例えば、今回の記事で紹介した社員管理システムにおいて、社員の給与や年齢、所属部署などの情報を最新の状態に変更したい場合に使用します。新しくデータを追加するINSERT文とは異なり、今あるレコードの中身を更新するのが役割です。
コメント
コメント投稿は、ログインしてください

まだ口コミはありません。

カテゴリの一覧へ
新着記事
アノテーションによるサーブレットマッピングを初心者向けに完全解説!URL設定の基本がわかる
SQLのパフォーマンスチューニングを完全ガイド!初心者でもわかる高速化の基本
SQLのUPDATE文を完全ガイド!初心者でもわかるデータの更新方法
HTMLとは何か?初心者向けに基本から説明します!
人気記事
No.1
Java&Spring記事人気No1
Javaとは?初心者向けにやさしく解説
No.2
Java&Spring記事人気No2
SQLのビュー(VIEW)を完全ガイド!初心者でもわかる仮想テーブルの使い方
No.3
Java&Spring記事人気No3
SQLのロック(LOCK)を完全ガイド!初心者でもわかるデータの整合性の守り方
No.4
Java&Spring記事人気No4
HTMLのセレクトボックス(プルダウン)の使い方を完全ガイド!selectとoptionの基本を覚えよう