データベースのデータを操作する基本的なコマンドを学びましょう。
SQLの学習を進める中で、データベースからデータを読み取るSELECT
文はすでに学びましたね。ここでは、テーブル内のデータを変更するための基本的な操作、INSERT(挿入)、UPDATE(更新)、DELETE(削除)について解説します。これらはデータを操作するための言語、DML (Data Manipulation Language) の中核となるコマンドです。
INSERT文:新しいデータを追加する ✍️
INSERT
文は、テーブルに新しい行(レコード)を追加するために使用します。オンラインショップで新しい顧客が登録されたときや、ブログ記事が投稿されたときなど、新しい情報をデータベースに保存する際に使います。
基本構文
INSERT INTO テーブル名 (列名1, 列名2, 列名3, ...)
VALUES (値1, 値2, 値3, ...);
INSERT INTO
の後に追加先のテーブル名を指定します。- テーブル名の後の括弧内には、値を追加する列名をカンマ区切りで指定します。(省略可能ですが、指定する方が確実です。)
VALUES
の後には、指定した列に対応する値をカンマ区切りで指定します。列名と値の順番、データ型は一致させる必要があります。- 列名を省略した場合、テーブル定義順に全ての列に対する値を指定する必要があります。
使用例
例として、users
テーブル(id, name, emailを持つ)に新しいユーザーを追加してみましょう。
-- usersテーブルに新しいユーザーを追加
INSERT INTO users (id, name, email)
VALUES (1, '山田 太郎', 'yamada.taro@example.com');
このSQLを実行すると、users
テーブルにidが1、名前が「山田 太郎」、メールアドレスが「yamada.taro@example.com」の新しいユーザーが追加されます。
複数行の挿入
多くのデータベースシステムでは、一度に複数行を挿入することも可能です。(構文はデータベースによって異なる場合があります)
-- usersテーブルに複数のユーザーを一度に追加 (MySQL, PostgreSQLなど)
INSERT INTO users (id, name, email) VALUES
(2, '鈴木 花子', 'suzuki.hanako@example.com'),
(3, '田中 一郎', 'tanaka.ichiro@example.com');
UPDATE文:既存のデータを更新する 🔄
UPDATE
文は、テーブル内の既存の行のデータを変更(更新)するために使用します。顧客の住所が変わった、商品の価格が変更されたなど、登録済みの情報を最新の状態にする際に使います。
基本構文
UPDATE テーブル名
SET 列名1 = 新しい値1,
列名2 = 新しい値2,
...
WHERE 条件;
UPDATE
の後に対象のテーブル名を指定します。SET
の後には、更新したい列名と新しい値を=
でつないで指定します。複数の列を更新する場合はカンマで区切ります。WHERE
句で、どの行を更新するかの条件を指定します。
⚠️ UPDATE文の注意点
UPDATE
文でWHERE
句を省略すると、テーブル内の全ての行が更新されてしまいます! これは非常に危険な操作であり、意図しないデータ変更を引き起こす可能性があります。更新対象を明確にするために、WHERE
句を必ず指定するようにしましょう。
使用例
users
テーブルで、idが1のユーザーのメールアドレスを変更してみましょう。
-- id=1のユーザーのメールアドレスを更新
UPDATE users
SET email = 'yamada.taro.new@example.com'
WHERE id = 1;
このSQLを実行すると、id
が1である行のemail
列の値が'yamada.taro.new@example.com'
に更新されます。
複数の列を同時に更新することもできます。
-- id=2のユーザーの名前とメールアドレスを更新
UPDATE users
SET name = '佐藤 花子',
email = 'sato.hanako@example.com'
WHERE id = 2;
DELETE文:データを削除する 🗑️
DELETE
文は、テーブルから行を削除するために使用します。退会したユーザーの情報や、不要になった注文履歴などを削除する際に使います。
基本構文
DELETE FROM テーブル名
WHERE 条件;
DELETE FROM
の後に対象のテーブル名を指定します。WHERE
句で、どの行を削除するかの条件を指定します。
🚨 DELETE文の最大の注意点
DELETE
文でもWHERE
句を省略すると、テーブル内の全ての行が削除されてしまいます! これはデータ消失につながる極めて危険な操作です。誤って全データを削除しないよう、WHERE
句の指定は絶対に忘れないでください。実行前にSELECT
文で対象を確認するのも有効です。
使用例
users
テーブルから、idが3のユーザーを削除してみましょう。
-- id=3のユーザーを削除
DELETE FROM users
WHERE id = 3;
このSQLを実行すると、id
が3である行がusers
テーブルから削除されます。
まとめ ✅
今回は、データベースのデータを操作する基本的なDMLコマンドであるINSERT
、UPDATE
、DELETE
について学びました。
コマンド | 主な目的 | 特に注意すべき点 |
---|---|---|
INSERT | 新しい行を追加する | 列名と値の順番・データ型を合わせる |
UPDATE | 既存の行のデータを更新する | WHERE 句を省略しない (全行更新を防ぐ) |
DELETE | 既存の行を削除する | WHERE 句を省略しない (全行削除を防ぐ) |
これらのコマンドはデータベース操作の基本であり、頻繁に使用されます。特にUPDATE
とDELETE
でのWHERE
句の重要性をしっかり理解し、安全にデータを操作できるよう練習しましょう!
コメント