大変なことが発生しました。前回、支払テーブルにデータを挿入しましたが、データの内容に誤りがあることが分かりました。中野食糧の支払金額が2,000円ではなく、2,250円だったのです。このような場合、訂正方法には2種類あります。1.現在のレコードを削除し、修正版のレコードを再度Insert文で投入する。2.現在のレコードを直接修正する。どちらの方法も、実際の仕事の現場ではあり得ます(本番環境では2しかありえませんが・・・)。2のように直接修正するのが一般的ですが、何かテストを控えていて、Logをキレイにしておきたい場合や、修正件数が多くかつ、絞り込むのが大変な場合は、もう全件削除して、全件Insert文により挿入した方が分かりやすい場合は、1が選択される場合もあります。本題ですが、今回のようにある特定のレコードのみ修正する場合に、レコードの絞り込みはどのように行うのでしょうか。このような絞り込みを行う場合に記述するのがWhere句なのです。Where句は、Insert文以外のDML(Select、Delete、Update)文で使用することができます。それでは、実際にSQLを書いてみましょう。構文は以下のようになります。181と2を見てみると、Where句の部分は同じです。修正する前に1のSELECT文を実行するのでしょうか?それは、修正予定のレコードの抽出が本当に正しいかどうか確認する為です。条件が緩ければ、余計なレコードまで修正してしまい、2次災害につながります。UpdateやDelete文など既存テーブルの修正を行う場合は事前に条件式のチェックを行うようにします。それでは修正しましょう。SELECT文の実行1.のSELECT文を実行します。SQLのタブのSQL記載欄に上記SQL文を貼り付け実行します。結果は以下のとおりでした。修正したいレコード1件のみ抽出されました。引き続きUPDATE文を実行します。UPDATE文の実行2.のUPDATE文を実行します。同様に、SQLタブのSQL記載欄にUPDATE文を貼り付け実行します。次のようなメッセージが返却されれば成功です。1のSELECT文を実行します。支払金額が2,250円に更新されていますね。18;ちなみに全件表示させてみましょう。その場合は、Where句を外します。当然ですが、それ以外のレコードは更新されていません。支払;Insert文の実行⇒Update文の実行とSELECT文の実行は問題なくできました。次回以降は、SELECT文によるSQL操作のいろいろを見ていきます。コメントをキャンセルメールアドレスが公開されることはありません。*サイトオリジナルBGMの作成方法テーブルの作成とデータの挿入RECOMMENDこちらの記事も人気です。