UPDATE文とは?
SQLのUPDATE文は、既存のデータを更新するための文です。一度登録したデータを修正したり、新しい情報に置き換えたりする際に利用します。
UPDATE文の基本的な書き方
UPDATE テーブル名
SET カラム名1 = 新しい値1,
カラム名2 = 新しい値2,
...
WHERE 条件;
- UPDATE: 更新することを示すキーワードです。
- テーブル名: 更新対象のテーブル名を指定します。
- SET: 更新するカラムと新しい値を指定します。
- WHERE: 更新対象を絞り込む条件を指定します。(省略可能)
UPDATE文の使用例
- 顧客の名前を更新
UPDATE customers
SET name = '山田太郎'
WHERE customer_id = 1;
顧客IDが1の顧客の名前を「山田太郎」に更新します。
- 商品の価格を値上げ
UPDATE products
SET price = price * 1.1
WHERE category = '電子機器';
カテゴリが「電子機器」の商品全てを10%値上げします。
WHERE句の重要性
WHERE句は、どのレコードを更新するかを指定する上で非常に重要です。WHERE句を省略すると、テーブル内の全てのレコードが更新されてしまうため、意図しない結果になる可能性があります。
更新の注意点
- 慎重に: UPDATE文を実行すると、データが変更されてしまいます。
誤って実行すると、データが失われる可能性があるため、事前にバックアップを取ったり、テスト環境で試したりすることをおすすめします。 - COMMIT
更新内容をデータベースに反映させるためには、通常、COMMIT文を実行する必要があります。 - ROLLBACK
万が一、誤った更新を行ってしまった場合は、ROLLBACK文で変更を元に戻すことができます。
更新の実用例
- 顧客情報の修正: 住所変更、電話番号変更など
- 商品の在庫数の更新: 販売や入荷による在庫数の増減
- 注文ステータスの変更: 未処理から処理済みに変更
まとめ
UPDATE文は、データベースのデータを動的に管理する上で欠かせない文です。WHERE句を適切に利用することで、意図したレコードのみを更新することができます。しかし、誤った使用はデータの損失につながる可能性があるため、慎重に扱うことが重要です。
さらに詳しく学びたい方へ
- サブクエリ: UPDATE文の中でサブクエリを使うことで、より複雑な更新を行うことができます。
- JOIN: 複数のテーブルを結合して更新を行うことができます。
- トリガー: 特定のイベントが発生した際に自動的に実行されるSQL文です。
練習問題
- 「customers」という顧客テーブルがあり、”customer_id”(顧客ID)、”pref”(都道府県)、”email”(メールアドレス)、”tel”(電話番号)というカラムがあるとします。
- 顧客IDが10の顧客のメールアドレスを”[メールアドレスを削除しました]”に変更してください。
- 都道府県が”東京都”の顧客の電話番号を”03-1234-5678″に変更してください。
コメント