【SQL】データベースで条件を設定して更新する。WHEREを使ったUPDATEについての解説。
  • facebookページ
  • twitterページ
  • 2020.06.27

    【SQL】データベースで条件を設定して更新する。WHEREを使ったUPDATEについての解説。

    データベースの更新作業をする場合に最も多いケースが条件指定を付けた更新となります。

    全てのレコードを一度に書き換えるケースも無いとは言いませんが、実運用では分岐によって書き換えと追加を操作することがほとんどでしょう。

    そこで今回は「WHEREを使ったUPDATE」について解説してみたいと思います。

    UPDATEにおけるWHEREとは

    UPDATEにおけるWHEREの役割は「条件式の設定」です。

    勿論WHERE自体はUPDATE固有のものではありませんので、当然SELECT句やINSERT句にも付帯することが出来ます。

    またUPDATEやSELECTには条件式を必ず付帯させなければならないということもないため、学習を始めたばかりの方にとって、WHEREの重要性というのはあまり理解できていないかもしれません。

    UPDATE句にはWHEREを忘れず付帯させる

    WHEREの重要性は恐らくUPDATEにこそあります。

    UPDATEには、その特徴として検索条件を満たす全ての行を更新対象とします。

    もしUPDATEにWHEREを設定していなかった場合、全てのレコードが変更対象となってしまうため、意図せぬトラブルに見舞われるでしょう。

    10件や20件程度なら記憶を頼りに修正できるかもしれませんが、ビッグデータになるともう不可能です。

    こういう理由から、UPDATEを使用する上で最も意識しておかなくてはならないことは「検索条件の設定(WHERE)」だと言えるでしょう。

    UPDATE文でのWHEREの使い方

    次はUPDATE文でのWHEREの使い方について説明していきたいと思います。

    通常UPDATE文は次のように記述します。

    UPDATEで変更を加えるテーブルを指定し、SETで変更内容を具体的に指定します。

    これにWHEREで条件を設定すると次のような記述となります。

    条件の設定は何件でも行えますが、複数の条件を設定する場合には条件を一つずつ分ける必要があります。

    そしてその条件毎に”AND”もしくは”OR”で繋げて行きます。

    サンプルコードで確認する

    それでは実際にサンプルコードで動作を確認していきましょう。

    今回のサンプルで使用するデータベーステーブルは次の通りです。

    このテーブルを使って、UPDATEを行います。

    サンプルコードは次の通りです。

    まず一つ目(1行目~5行目)は通常のUPDATE(全件対象)、そして二つ目(18行目~24行目)はWHEREを使って一つだけ条件を設定したもの、更に三つ目(37行目~45行目)はWHEREを使って複数の条件を設定したものとなっています。

    このように条件設定をすることで、全件を対象とした変更がされていないことが確認できます。

    まとめ

    今回はWHEREを使って条件を設定してUPDATEする方法について解説してみましたが、いかがでしたか?

    UPDATE自体はそう難しいものでもありませんし、WHEREも基本的な形はすぐ覚えられるはずです。

    WHEREとサブクエリを組み合わせる方法やLIKEを使った方法など、これより若干複雑になってくるクエリもありますので、基本はしっかりと抑えておくようにしましょう。



    優良フリーランス案件多数掲載中!
    フリーランスエンジニアの案件をお探しなら
    ポテパンフリーランス

    この記事をシェア

    • Facebookシェア
    • Twitterシェア
    • Hatenaシェア
    • Lineシェア
    pickup









    ABOUT US

    ポテパンはエンジニアと企業の最適なマッチングを追求する企業です。

    READ MORE