データベース・SQL入門 第4回(最終回):データを操る支配者になろう!追加・更新・削除をマスター
これまで全3回にわたり、データベースから欲しい情報を見つけ出し、綺麗に並べ替え、複数の表を結合して分析するテクニックを学んできました。
しかし、ここまでの操作はすべて「すでにあるデータを見るだけ」のものでした。実際のシステムやアプリケーションでは、新しいユーザーが登録されたり、商品の価格が変わったり、退会したユーザーのデータを消したりと、データは常に変化し続けます。
連載の最終回となる今回は、データベースの中身を直接書き換える「追加(INSERT)」「更新(UPDATE)」「削除(DELETE)」の3つのコマンドを解説します。
これらをマスターすれば、あなたはもうデータベースの完全な支配者です!
1. 新しいデータを登録する「追加(INSERT)」
新しい顧客が会員登録した時や、新商品が発売された時に使うのが、データを追加する INSERT(インサート)文です。
例えば、「KOKYAKU(顧客)」テーブルに、新しい会社「川崎システムズ」のデータを登録してみましょう。
INSERT INTO KOKYAKU (ID, NAME, ADDRESS)
VALUES ('C004', '川崎システムズ', '神奈川県川崎市宮前区...');INSERT INTO:データを追加するテーブル名(KOKYAKU)と、値を入れる列名(ID, NAME, ADDRESS)を指定します。
VALUES:実際に追加するデータを、列名の順番通りにカンマ区切りで指定します。文字データはシングルクォーテーション(')で囲むのを忘れないようにしましょう。
もし、テーブルのすべての列に対して順番通りにデータを追加する場合は、列名の指定を省略して以下のように書くこともできます。
INSERT INTO KOKYAKU
VALUES ('C004', '川崎システムズ', '神奈川県川崎市宮前区...');とてもシンプルですね!
2. 既存のデータを書き換える「更新(UPDATE)」
「登録していた住所が変わった」「商品の価格を値上げしたい」といった場合には、データを上書きする UPDATE(アップデート)文を使います。
例えば、先ほど追加した「川崎システムズ(ID: C004)」の住所を「神奈川県川崎市多摩区」に変更してみましょう。
UPDATE KOKYAKU
SET ADDRESS = '神奈川県川崎市多摩区'
WHERE ID = 'C004';UPDATE:更新するテーブル名を指定します。
SET:どの列を、どんな値に変更するかを指定します。
WHERE:どの行を変更するかを指定します。
⚠️ 警告:UPDATE文の落とし穴
もし、上記のコードから WHERE ID = 'C004'; を書き忘れて実行してしまうと、どうなるでしょうか?
なんと、顧客テーブルにいる全員の住所が「神奈川県川崎市多摩区」に書き換えられてしまいます!
実務でこれをやると大惨事になるため、UPDATE を実行する時は必ず WHERE 句で条件を指定するよう、指差し確認を徹底しましょう。
3. 不要なデータを消し去る「削除(DELETE)」
退会したユーザーのデータや、取り扱いが終了した商品のデータを消去したい時は DELETE(デリート)文を使います。
例えば、「川崎システムズ(ID: C004)」のデータをテーブルから完全に削除します。
DELETE FROM KOKYAKU
WHERE ID = 'C004';DELETE FROM:データを削除するテーブル名を指定します。
WHERE:どの行を削除するかを指定します。
ここでも UPDATE と同じく、WHERE 句を忘れるとテーブルの中身がすべて消滅します。「本当にこの条件で合っているか?」を事前に SELECT 文で検索して確認してから、DELETE を実行するのが安全なエンジニアの鉄則です。
連載のまとめ
全4回にわたる短期集中連載、本当にお疲れ様でした!
ここまで学んだ内容を振り返ってみましょう。
SELECT / WHERE:データを取り出し、条件で絞り込む
ORDER BY / GROUP BY:データを並べ替え、集計する
JOIN / サブクエリ:複数のテーブルを繋ぎ合わせる
INSERT / UPDATE / DELETE:データを追加・更新・削除する
これらは「CRUD(Create, Read, Update, Delete)」と呼ばれ、世の中のあらゆるWebサービスやアプリの根幹を成すデータ操作の基本です。
この連載で学んだ知識があれば、実務の簡単なデータ抽出や、プログラミング学習におけるデータベース連携でつまずくことはもうありません。
本連載が、あなたのエンジニアリングやデータ分析の第一歩として、少しでもお役に立てていれば幸いです。
最後まで読んでいただき、ありがとうございました!
基礎編の短期連載も始めました!
いいなと思ったら応援しよう!
よろしければ応援お願いします! いただいたチップはクリエイターとしての活動費に使わせていただきます!