【MySQL操作】UPDATEコマンドの基本|コマンド例付きで解説

※本サイトにはプロモーション・広告が含まれています。

(最終更新月:2023年9月)

✔以下のような方に向けて書かれた記事です

「mysql update構文の動作がよくわからない」

「mysql updateの正しい書き方を理解したい」

「mysql updateの具体的な使用例を確認したい」

✔当記事を通してお伝えすること

  • mysql updateの基本機能
  • mysql updateの適切な記述方法とその拡張性
  • mysql updateの実行例

当記事では、mysql updateの基本から、そのオプションを駆使した応用例まで、具体的なサンプルを交えて詳細に解説しています。

是非とも最後までお付き合いください。

筆者プロフィール

筆者プロフィールアイコン

【現職】プロダクトマネージャー

【副業】ブログ(月間20万PV)/YouTube/Web・アプリ制作

「プログラミング × ライティング × 営業」の経験を活かし、30後半からのIT系職へシフト。現在はプロダクトマネージャーとして、さまざまな関係者の間に入り奮闘してます。当サイトでは、実際に手を動かせるWebアプリの開発を通じて、プログラミングはもちろん、IT職に必要な情報を提供していきます。

【当ブログで紹介しているサイト】

当サイトチュートリアルで作成したデモ版日報アプリ

Django × Reactで開発したツール系Webアプリ

✔人に見せても恥ずかしくないコードを書こう

「リーダブルコード」は、わかりやすく良いコードの定義を教えてくれる本です。

  • 見るからにきれいなコードの書き方
  • コードの分割方法
  • 変数や関数の命名規則

エンジニアのスタンダートとすべき基準を一から解説しています。

何回も読むのに値する本なので、ぜひ手にとって読んでみてください。

MySQLとSQLの基礎

まずはMySQLとSQLの基礎的な知識をお伝えしていきます。

基本を理解したうえで、Updateの具体的な操作を見ていきましょう。

  • MySQLの全体像と特徴
  • SQLの意義と用途

MySQLの全体像と特徴

MySQLは、多くの企業やプロジェクトで利用されているデータベースです。

とくにWebアプリケーションのバックエンドとして使われます。

高速性や拡張性、信頼性、そしてオープンソースである点がその特徴です。

当サイトでも使用しているWordPressでも、MySQLが使われています。

SQLの意義と用途

SQLは「Structured Query Language」の略称。

リレーショナルデータベースを操作するための言語です。

リレーショナルデータベースとは、データを構造化し、それぞれを関連付け、データ間の関係性を明確にするデータベースシステムのひとつ。リレーショナルデータベースの代表的な製品としては、Oracle, MySQL, PostgreSQL, Microsoft SQL Server, IBM DB2などがあります。

MySQLは、データベースに関するあらゆる操作を行うための命令を持っており、その中で「Update」はデータの変更に関する命令のひとつです。

  • データの抽出:INSERT
  • 更新:UPDATE
  • 挿入:INSERT
  • 削除:DELETE

Update概念と基本文法

次に、Updateの基本的な概念と、その文法について解説していきます。

ここでの理解が、後の具体的な操作の基盤となるはずです。

  • Updateとは?
  • 基本的なUpdate文の記述方法

Update概念の解説

Updateは、既存のデータベースのレコードを変更するためのSQL文です。

正確な指定と変更内容を記述することで、データを安全かつ効率的に変更することが可能となります。

SQL言語としてのUPDATE文については、以下の記事をご覧ください。

基本的なUpdate文の記述方法

基本的なUpdate文は以下のような構造になります。

UPDATE テーブル名
SET カラム1 = 値1, カラム2 = 値2, ...
WHERE 条件;

このWHERE句は、どのレコードを更新するかを指定するためのもの。

例えば、idが5のレコードのnameを”John”に変更する場合、以下のように記述します。

UPDATE users
SET name = 'John'
WHERE id = 5;

このようにUpdate文を使うことで、特定の条件を満たすレコードを効率的に変更することができます。

Updateの具体的な操作

Update文の基本的な文法に続き、より具体的な操作方法を探っていきましょう。

具体例を交えながら、Updateのさまざまな活用方法を学んでいきます。

  • 単体データ更新の手順
  • 条件をつけてのデータ更新

単体データ更新の手順

単体のデータ、つまり特定の1つのレコードのみを更新する場合の手順について説明します。

以下は、age カラムの値を25に更新する例です。

UPDATE users
SET age = 25
WHERE id = 3;

このコマンドを実行すると、users テーブルの id が3のレコードの age が25に更新されます。

条件をつけてのデータ更新

特定の条件を満たす複数のレコードを一度に更新する場合の方法を説明します。

例として、age カラムの値が20未満のレコードすべての status カラムを “minor” に更新する場合は以下のようにします。

UPDATE users
SET status = 'minor'
WHERE age < 20;

応用的なUpdateの活用方法

基本的なUpdate操作をマスターしたら、さらに応用的な操作方法を学びましょう。

一括更新や、ソート、制限を活用したUpdate方法を中心に解説していきます。

  • 一括更新の記述とその有効性
  • ソート後のデータ更新:ORDERBY句
  • 更新データ数の制限:LIMIT句

一括更新の記述とその有効性

一括更新とは、複数のカラムのデータを同時に更新する操作を指します。

例として、first_namelast_name を同時に変更する場合は以下のような記述です。

UPDATE users
SET first_name = 'Taro', last_name = 'Yamada'
WHERE id = 10;

このような一括更新は、トランザクションの数を減らし、効率的なデータ操作を可能にします。

ソート後のデータ更新:ORDERBY句

Update文では、ORDER BY句を使用して更新する順番を指定できます。

特定の条件を満たす最初の数件のみを更新する際などに役立つもの。

例えば、score カラムの上位3人の status を “top” に変更する場合は以下のように記述します。

UPDATE users
SET status = 'top'
ORDER BY score DESC
LIMIT 3;

更新データ数の制限:LIMIT句

LIMIT句を使用すると、更新するデータの件数を制限できます。

一部だけを対象に更新をおこないたい場合に使用しましょう。

例えば、age カラムの値が20未満のレコードのうち、最初の5件だけ status を “young” に更新する場合は、以下のように記述します。

UPDATE users
SET status = 'young'
WHERE age < 20
LIMIT 5;

LIMIT句を活用することで、大量のデータが存在するテーブルでも効率的にUpdate操作をおこなえます。

高度なUpdate操作

これまでの基本的なUpdate操作を超えて、より高度なテクニックや活用例を学んでいきましょう。

特にサブクエリやJOINを使用したUpdate方法について詳しく取り上げます。

  • 活用例:サブクエリを用いたUpdate
  • 活用例:JOINステートメントを用いたUpdate

活用例:サブクエリを用いたUpdate

サブクエリを活用することで、ほかのテーブルやレコードの値に基づいたUpdateが可能です。

以下は、products テーブルの price カラムの平均値を取得し、その平均価格以上の商品の status を “premium” に更新する例になります。

UPDATE products
SET status = 'premium'
WHERE price >= (SELECT AVG(price) FROM products);

この方法を使えば、テーブル内の他のデータに基づいて動的な更新がおこなえます。

活用例:JOINステートメントを用いたUpdate

JOINステートメントを使用して、別のテーブルのデータを基にしてUpdate操作をおこなえます。

例として、orders テーブルと products テーブルがあり、orders テーブルの商品価格が products テーブルの価格よりも低い場合に、orders テーブルの価格を更新する場合は以下のように記述します。

UPDATE orders
JOIN products ON orders.product_id = products.id
SET orders.price = products.price
WHERE orders.price < products.price;

JOINを活用することで、複数のテーブル間での一貫性を保ちながら効率的なデータ操作が可能です。

まとめ

当記事では、MySQLのUPDATE操作について学習してきました。

UPDATE操作は、データベース内の情報を変更する際の基本的な操作です。

さまざまな句と組み合わせることで、正確かつ効率的にデータを更新できます。

データベースの操作において、Updateは必須のスキル。

UPDATE操作を活用し、業務の効率化やサービスの品質向上に繋げましょう。

参考リソースはこちら。

  1. MySQL公式ドキュメント
  2. SQLZoo – 対話的なSQLチュートリアル
  3. W3Schools SQLチュートリアル
  4. 当記事のMySQL関連記事
タイトルとURLをコピーしました