WHERE 句を満たす FROM 句で一覧表示される 1 つ以上のテーブルからレコードを削除する 削除クエリ を作成します。
構文
DELETE [table.*]
FROM テーブル
WHERE 条件
DELETE ステートメントでは次の引数を使用します。
引数 |
説明 |
table |
レコードを削除するテーブルのオプションの名前。 |
table |
レコードを削除するテーブルの名前。 |
criteria |
削除するレコードを決定する式。 |
解説
DELETE は、多くのレコードを削除する場合に特に便利です。
データベースからテーブル全体を削除するには、DROP ステートメントと Execute メソッドを使用することができます。 ただし、テーブルを削除する場合は、構造が失われます。 対照的に、DELETE を使用すると、データのみが削除され、テーブルの構造と、フィールドのとインデックスなどテーブルのプロパティはそのまま残ります。
DELETE を使用して、他のテーブルと 一対多リレーションシップ のレコードをテーブルから削除することができます。 連鎖削除操作を実行すると、関係の 1 側の対応するレコードがクエリで削除されたときに、関係の多側のテーブルのレコードが削除されます。 たとえば、Customers テーブルと Orders テーブル間の関係で、Customers テーブルが関係の 1 側で、Orders テーブルが関係の多側だとします。 Customers からレコードを削除するときに、連鎖削除オプションを指定すると、対応する Orders レコードが削除されます。
削除クエリでは、特定のフィールドのデータだけでなく、レコード全体を削除します。 特定のフィールド内の値を削除する場合は、Null に値を変更する更新クエリを作成します。
重要:
-
削除クエリを使用してレコードを削除すると、操作を元に戻すことはできません。 どのレコードが削除されたかを確認する場合は、同じ条件を使用する選択クエリの結果を調べて、削除クエリを実行します。
-
データのバックアップ コピーは常に保持しておきます。 間違ったレコードを削除した場合、バックアップ コピーからレコードを元に戻すことができます。