TRUNCATE
テーブルに登録されている全てのデータを削除するには、SQLコマンドの「TRUNCATE」コマンドを使用します。
「TRUNCATE」の基本的な構文は以下の通りです。
TRUNCATE テーブル名1 [,テーブル名2,・・・] ;
「TRUNCATE」は、指定した各テーブルの全ての行を削除します。
これは、条件を指定しなかった「DELETE」コマンドと同じ結果ですが、「DELETE」コマンドはテーブル内を走査し条件に合う行を削除しようとします。「TRUNCATE」ではテーブル内を走査することはせず素早く全ての行を削除するため、「DELETE」コマンドより高速です。
また、「VACUUM」操作を行うことなくディスク領域を即座に回収します。
このため、大きなテーブルを対象にする場合に有用です。
テーブル内のデータを削除してみる
以下の「testtbl」「summarytbl」の2つのテーブルを例に「TRUNCATE」を実行してみます。
「testtbl」には7行、「summarytbl」には2行のデータが登録されています。

以下の例では、「testtbl」と「summarytbl」の全ての行を削除します。
TRUNCATE testtbl, summarytbl ;
実行すると両方のテーブル共にすべての行が削除されています。

「TRUNCATE」コマンドの説明は以上です。