データの削除に関する操作は、「DELETE」 「TRUNCATE」があります。
ここでは、「DELETE」について、ご紹介します。
DELETEで削除した場合は、REDOログに記録されていく為、大量のデータを削除する時には時間がかかります。
条件を指定してテーブル(表)のデータを削除する
テーブル(表) に挿入されているデータを条件を指定して削除する方法です。-- テーブル(表)のデータを条件を指定して削除するSQL
DELETE FROM <テーブル名> WHERE 条件;
実行例1. テーブル(表) "table1"の指定したレコード(行)を削除する
テーブル(表) "table1"の データをカラム名"col1"の値がA1のレコードを削除します-- テーブル"table1"のテータ(col1="A1")を削除するSQL
DELETE FROM table1 WHERE col1 = 'A1';
テーブル(表)内の全件を削除する場合
条件を指定せず、テーブル(表)内の全件を削除する方法です。-- テーブル(表)のデータを全て削除するSQL
DELETE FROM <テーブル名>;
実行例1. テーブル(表) "table1"の データを全件削除する
テーブル(表) "table1" に挿入されている全てのレコード(全行)を削除します。-- テーブル"table1"のテータを全件削除するSQL
DELETE FROM table1;
ここでは「DELETE」について紹介しましたが、 全件(全行)を削除する場合は、「TRUNCATE」の方が良いかもしれません。
削除したデータを「やっぱり元に戻したい」という事になった場合、「DELETE」ならばROLLBACKで戻すことが可能です。
「TRUNCATE」は、ROLLBACKで元に戻すことはできません。
よほどのことがない限り、「DELETE」を使っている方が無難だと思います。
以上です。
0 件のコメント:
コメントを投稿