テーブルからレコードを削除するにはDELETE命令を使います。使い方は至ってシンプルですが、テーブルの内容が書き換えられるので、ここではテスト用のテーブルを用意してから試すことにしましょう。
- 基本書式はシンプル - レコードを追加するINSERT命令では、フィールド名やその値などのパラメータを設定しなければなりませんでした。しかし、既存のレコードを削除するだけのDELETE命令では特別なパラメータは不要で、非常にシンプルな書式となります。
DELETE [FROM] <テーブル名> [WHERE <条件式>]
FROM句は省略できます。従って、最もシンプルなDELETE文は
DELETE <テーブル名>
という形です。
テーブル「商品_mr」内のレコードをすべて削除するなら、以下のようなSQLを記述します。
DELETE 商品_mr
《注意》 このSQLを実行すると、テーブル「商品_mr」内のレコードがすべて削除されてしまいます。これはあくまで「例」なので、実行しないようにしてください。あとで、別のテーブルを使って実際に試す方法を紹介します。
- テスト用テーブルの作成 - 今回はテーブル内のレコードを削除することになるため、テスト実行用のダミーのテーブルを作っておきましょう。前回紹介したSELECT INTO文を使います。
クエリアナライザで以下のSQLを実行してください。
SELECT * INTO 商品_dmy FROM 商品_mr
メッセージウィンドウに「36件処理されました」のように表示されれば完了です※1。これで、「商品_mr」の同じフィールド構成で同じレコードを保存する「商品_dmy」テーブルが作成されます。
これ以降、「商品_mr」の代わりに「商品_dmy」を使ってレコードの削除を試すことにします。SQL文の入力を間違えないようにしましょう。先の全行削除も
DELETE 商品_dmy
とすれば確認できますが、全レコードが削除されるとそれ以降の処理を試せないので、ここではまだ行いません。最後に試すことにします※2。
※1 「36件」という件数は、テーブル「商品_mr」が初期状態の場合の値です。これまでの操作によってレコード件数が増減している場合は、値が異なることもあります
※2 もし間違って「商品_dmy」のレコードを削除した場合は、EnterpriseManagerでテーブル「商品_dmy」を削除してから、クエリアナライザで再度“SELECT * INTO 商品_dmy FROM 商品_mr”というSQLを実行してください
|
|
|