【Oracle】DELETE文でデータを削除しよう!

Oracle

前回は、テーブルのデータを更新するUPDATE文について説明しました。今回は、データを削除するDELETE文について説明していきます!

データ準備

DELETE文を試すためにテーブルを作成し、データを追加します。

-- テーブルの作成
CREATE TABLE bank_accounts (
    id NUMBER PRIMARY KEY,
    account_holder VARCHAR2(100),
    balance NUMBER
);

-- データの登録
INSERT
  ALL INTO bank_accounts (id, account_holder, balance)
VALUES
  (1, '山田太郎', 100000)
INTO
  bank_accounts (id, account_holder, balance)
VALUES
  (2, '鈴木花子', 50000)
INTO
  bank_accounts (id, account_holder, balance)
VALUES
  (3, '田中一郎', 200000)
INTO
  bank_accounts (id, account_holder, balance)
VALUES
  (4, '佐藤明美', 75000)
INTO
  bank_accounts (id, account_holder, balance)
VALUES
  (5, '伊藤健太', 300000)
SELECT * FROM DUAL;
口座名義残高
山田太郎100000
鈴木花子50000
田中一郎200000
佐藤明美75000
伊藤健太300000
銀行口座テーブル

DELETE文の使い方

データを削除するDELETE文は下記のように記述します。

DELETE FROM テーブル名 
          WHERE 条件式

UPDATE文と同じでWHERE句を含めなくてもデータの削除は可能です。

-- テーブル内のすべてのデータを削除する
DELETE FROM bank_accounts

ただし、テーブルの全てのデータを削除してしまうので、WHERE句でしっかりと条件を絞って削除するようにしましょう!

-- 銀行口座テーブルから残高が100000円以下の口座を削除する
DELETE FROM bank_accounts 
           WHERE balance <= 100000;
口座名義残高
田中一郎200000
伊藤健太300000
残高が100000円以上のデータは2件

まとめ

データを削除する時もUPDATE文と同じで、条件をよく絞ってから削除するようにしましょう!

コメント

タイトルとURLをコピーしました