【SQL初級編2】UPDATEでデータベースのデータを更新しよう

SQL入門

本記事ではUPDATE、について解説します。

前回はINSERT文について解説しました。

今回ではUPDATEでデータを更新する方法、についてみていきましょう。

SQLのUPDATEとは?

UPDATEとは、ベータベースのデータを更新するためのもののことです。

UPDATEを使うことで、既存データを新しく書き換えることができるようになります。

たとえば、テストの点数をデータベースに格納していて、後で点数が違うことが判明した場合、UPDATEで書き換えることが可能です。

このように、データの更新ができるのが、UPDATEですね。

SQLのUPDATEの使い方

UPDATEの具体的な使い方についてみていきましょう。

次の項目に従って解説していきます。

  • UPDATEでデータを更新する
  • UPDATEでnull値にデータを更新する
  • UPDATEで複数例同時に更新する
  • UPDATEで複数行同時に更新する

なお、今回は『SQL入門編1』で作成したテーブルを使って解説します。『SQL入門編1』で演習用のテーブルを作っていない方は、【SQL入門編1】初心者必見!SQLのクエリの書き方を学ぼうを読んで予め作成してくださいね。

また、本記事は前回の【SQL初級編1】INSERTでテータベースにデータを追加しようの続きになっているので、こちらを先にお読み下さい。

UPDATEでデータを更新する

UPDATEでデータを更新する方法をみていきます。

○コード例

UPDATE TEST.Student set TestScore=80 WHERE id=11;
SELECT * FROM TEST.Student WHERE id=11;

○実行結果

上記のコードでは、UPDATE文によって、idが11のレコードのTestScoreカラムを80に変更しています。

UPDATE文は次のような書式で記述します。

UPDATE {テーブル名} set {変更したいカラム名}={変更する値} WHERE {変更したいレコードのid}={id}

UPDATE文を使う場合は、基本的にWHERE文とセットで使います

WHERE文を使うことで、UPDATEで変更するレコードを指定することが可能です。

これがUPDATE文の基本的な使い方となります。

もう一つ例をみておきましょう。

○コード例

UPDATE TEST.Student set name="山田" WHERE id=11;
SELECT * FROM TEST.Student WHERE id=11;

○実行結果

今度は、UPDATE文によって、idが11のレコードのnameカラムを”山田”に変更しています。

UPDATEでnull値にデータを更新する

今度はUPDATEでnull値にデータを更新する方法をみていきましょう。

○コード例

UPDATE TEST.Student set TestScore=NULL WHERE id=11;
SELECT * FROM TEST.Student WHERE id=11;

○実行結果

null値に更新する場合、{カラム名}=NULL、と記述すれば良いだけです。

これで、idが11のレコードのTestScoreカラムを空欄にすることができました。

UPDATEで複数例同時に更新する

今度はUPDATEで複数のカラムを同時に更新する方法をみていきましょう

○コード例

UPDATE TEST.Student set name="藤井", TestScore=65 WHERE id=12;
SELECT * FROM TEST.Student WHERE id=12;

○実行結果

複数カラムを更新する場合は、SETの値に、カンマ区切りでカラムを複数指定します。

上記のコードでは、nameを「藤井」にしてTestScoreを「65」に変更しました。

このようにUPDATE文は複数のカラムを同時に変更することも可能です。

UPDATEで複数行同時に更新する

最後に、UPDATEで複数行を同時に更新する方法をみていきましょう。

○コード例

UPDATE TEST.Student set TestScore=40 WHERE id=13 OR id=14;
SELECT * FROM TEST.Student WHERE id=13 OR id=14;

○実行結果

上記のコードでは、idが13のレコードと14のレコードを同時に更新しています。

このように、WHERE文でORを使うことで、更新するレコードを2つ以上指定できます。

UPDATE文はWHEREを使うことで、更新するレコードを自由に変更できることを覚えましょう。

UPDATEを使う場合の注意点

UPDATE文を使う際の注意点を解説します。

UPDATE文はWHEREを使わずに書くと、全てのカラムのデータが更新されてしまいます。

そのため、WHEREを使って、更新するレコードを指定するのを忘れないようにしましょう。

また、UPDATE文は一度実行してしまうと、戻すことができません

そのため、重要なデータベースの場合、バックアップを取ってあるか確認することが大切です。

また、UPDATE文を実行する前に、一度SELECTを使ってどのレコードが更新の対象となるか確認しましょう。

たとえば、以下のようなコードを書く場合は、

UPDATE TEST.Student set TestScore=40 WHERE name LIKE "%石%"

次のSELECT文でどのレコードが更新されるか確認しましょう。

SELECT * FROM TEST.Student WHERE name LIKE "%石%"

まとめ

本記事では、UPDATEついて解説しました。

UPDATEによってデータを更新する方法が、お分かり頂けたかと思います。

データを更新したい場合、UPDATE文は必ず使うので、使い方を覚えておきましょう。

また、UPDATEを使う際はWHEREで更新するレコードを指定することをお忘れなく

次回は、DELETE文でデータを削除する方法を解説していきます。

手に職をつけてプログラマー転職

そろそろ本気で将来のことを考えなくちゃ……手に職をつけてプログラマーやエンジニアに転職したいなぁ。でも、プログラミングスクールってものすごくたくさんあるし、なんか敷居が高いのよね

これからプログラマーやエンジニアへの転身を目指すあなたに、どのスクールがもっとも適しているのかを紹介します。

SQL入門
【この記事を書いた人】
谷津弘樹

某自社開発のIT企業に勤めていた元webプログラマーです。主にサーバーサイド側を担当し、phpを使った開発経験があります。現在は退職しフリーランスライターとして活動中。IT系の記事を主に執筆し生計を立てています。

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