Oracleデータベースでテーブルの全データを削除する方法は?
Oracleデータベース内のテーブルのすべてのデータをクリアするには、次の2つの方法があります。
方法1:DELETE文を使用する。
DELETE FROM 表名;
例えば、「employees」というテーブルのすべてのデータを削除するには:
DELETE FROM employees;
Option:
方法2:TRUNCATE文を使用する。
TRUNCATE TABLE 表名;
例えば、”employees”というテーブルのすべてのデータを削除したい場合は、
TRUNCATE TABLE employees;
これら2つの方法の違いは、
- DELETE文は、テーブルのデータを行単位で削除し、各行をトランザクションとして処理し、削除操作の後にトランザクションログに書き込みます。そのため、DELETE文の実行速度は比較的遅いですが、ROLLBACK文を使用してロールバックすることができます。
- TRUNCATE文は、表が占有するストレージスペースを解放してデータを削除するためのものであり、一度に表全体のデータを削除し、トランザクションログに書き込まれません。そのため、TRUNCATE文は比較的高速に実行されますが、ROLLBACK文でロールバックすることはできません。