MySQLでのUPDATE文の使い方を紹介!UPDATE文を正しく使いこなそう

MySQLでのUPDATE文の使い方を紹介!UPDATE文を正しく使いこなそう
基本情報技術者試験の試験対策はこちら>>

MySQLエンジニア 案件・求人一覧はこちら

MySQLでのUPDATEの使い方を紹介します!


今回は、MySQLでのUPDATE文の使い方について説明します。

ここでは以下について紹介します。
・基本的な使い方
・更新レコード数を指定
・一括更新
・INSERT…ON DUPLICATE KEY UPDATE

MySQLでのUPDATE文の使い方に興味のある方はぜひご覧ください。

基本的な使い方

MySQLのUPDATE文の基本的な使い方を紹介します。

ここでは、以下のようなテーブルを使用します。

以下のレコードを事前にINSERTしておきます。

それでは、UPDATE文の基本的な使い方を紹介します。文法は以下です。

実際のSQL文を見てみましょう。

MySQLで複数カラムをUPDATEするには以下のように記述します。

更新レコード数を指定

MySQLのUPDATE文における、更新レコード数を指定する方法を紹介します。

LIMITを使用します。

3レコードのみ更新されていることが分かります。また、ORDER BY句と組み合わせることもできます。

このようにMySQLでは、更新レコードの上限数を指定できます。

一括更新

MySQLでの一括更新する方法を紹介します。

実際のSQL文を見てみましょう。

このようにMySQLでは、UPDATE文を複数記述しなくても、1文で複数レコードを更新できます。

INSERT…ON DUPLICATE KEY UPDATE

INSERT…ON DUPLICATE KEY UPDATE構文を使用すると、レコードがなければINSERT・あればUPDATEします。

ユニークなカラムに対してINSERT/UPDATEの判断をしますので、UNIQUEもしくは主キーを指定する必要があります。

ここでは、以下のテーブル定義とします。

それでは実際のSQL文を見てみましょう。

このように、MySQLでは、レコードがなければINSERT・あればUPDATEできます。

まとめ

いかがでしたでしょうか。MySQLでのUPDATE文の使い方について説明しました。

更新レコード数を指定したり、一括更新したりできます。ぜひご自身でSQL文を書いて、理解を深めてください。

MySQLエンジニア 案件・求人一覧はこちら

インフラエンジニア専門の転職サイト「FEnetインフラ」

FEnetインフラはサービス開始から10年以上『エンジニアの生涯価値の向上』をミッションに掲げ、多くのエンジニアの就業を支援してきました。

転職をお考えの方は気軽にご登録・ご相談ください。

合わせて読みたい

MySQLデータ型とは?数値型・日付と時間型・文字列型・空間型... hbspt.cta.load(20723875, 'fa98f1b0-ed6d-41fa-b741-6ddc1c7be6ec', {"useNewLoader":"true","region":"na1"}); MySQLデータ型とは? MySQLには、数値型、日付と時間型、文字列(文字...
Oracle DatabaseとMySQLの違い7つ|特徴についても解説... hbspt.cta.load(20723875, 'e848ebee-6da0-461e-a268-2b5dc067cad8', {"useNewLoader":"true","region":"na1"}); Oracle DatabaseとMySQLの違いとは Oracle Da...
MySQLでよく使用する基本的なコマンドを実例と共に紹介... hbspt.cta.load(20723875, 'fa98f1b0-ed6d-41fa-b741-6ddc1c7be6ec', {"useNewLoader":"true","region":"na1"}); MySQLとは? MySQLとは、リレーショナルデータベース管理システム(R...
Oracle DBとは?概要や特徴・MySQLやPostgreSQLとの比較・基本的な使い方... hbspt.cta.load(20723875, 'e848ebee-6da0-461e-a268-2b5dc067cad8', {"useNewLoader":"true","region":"na1"}); Oracle DBとは? Oracle DB(オラクルデータベース)とは、米...
MySQL Index 確認とは?INFORMATION_SCHEMA.STATISTICSを確認... hbspt.cta.load(20723875, 'fa98f1b0-ed6d-41fa-b741-6ddc1c7be6ec', {"useNewLoader":"true","region":"na1"}); MySQL Index 確認とは? MySQLではPRIMARY KEY(P...