今回は、SQLのUPDATE文を使ってテーブルのデータを更新する方法を説明します。
RDBMSを運営するうえで、UPDATE文は基本かつ使用頻度の高いSQL文です。たとえば、商品マスタに登録されている商品の単価が変更になった場合や、社員マスタに登録されている給与ランクや所属部署、退職日といったデータの更新は、必ず必要になるためです。
この記事では、UPDATE文でテーブルのデータを更新する基本文法と、実際にMySQLとPostgreSQLでデータ更新を実行する実画像を用いて説明します。
SQL_データの更新(UPDATE文)
この記事で説明するUPDATE文を使ったデータの更新は、以前の記事で作成したテーブルを使います。参考までに紹介しておきます。(記事内ではテーブル名をEmployeeで作成していますが、当記事ではテーブル名をWorkerに変更しています)
サンプルで使用するテーブル
当記事でSQLのUPDATE文を実行するにあたっては、下記のテーブルを使います。このテーブルに対して、UPDATE文を実行し、データを更新します。
データ更新のUPDATE文
RDBMS上に作成したテーブルのデータを更新するときには、[UPDATE]というSQL文を実行します。
基本文法
UPDATE テーブル名 SET 更新する列名 = 更新後の値 WHERE キーの列名 = キー;
実際のUPDATE文
- テーブル名・・・・Worker
- 更新対象・・・・worker_idが10041
- 更新列名・・・wage_rank
- 更新後の値・・4
たとえば、テーブル[Worker]に登録されている「社員番号10041の給与ランクの値を4に変更する場合」には、下記のようにSQL文を記述します。
UPDATE Worker SET wage_rank = 4 WHERE worker_id = 10041;
WHEREがない場合は全件更新
前述したように、テーブル内の特定のデータ更新をする場合には、対象レコードを特定するためのWHERE区が必須です。
WHEREがない場合は、エラーが発生する訳ではなく、該当列のすべてのレコードが更新されますので、注意が必要です。
UPDATE Worker SET wage_rank = 4 WHERE worker_id = 10041;--WHEREで特定しているSQL文
UPDATE Worker SET wage_rank = 4;--WHEREで特定していないSQL文
実例_MySQLの[UPDATE]
実際のRDBMS、MySQLでUPDATE文を実行してテーブルのデータを更新した実画像を紹介します。
データを更新_UPDATE
実例_PostgreSQLの[UPDATE]
実際のRDBMS、PostgreSQLでUPDATE文を実行してテーブルのデータを更新した実画像を紹介します。
データを更新_UPDATE
あとがき
今回は、UPDATE文で既存のテーブルのデータを更新する方法について記事にしました。
RDBMSにおいては、データの登録と共にデータの更新は必須の命令文になります。難しい構文ではありませんので、本日から使いこなせることと思います。
当サイトでは引き続き、SQL関連の情報を発信していきますので、またご覧いただければ幸いです。