SQLServer TRUNCATE TABLE データ高速一括削除

今回は、TRUNCATE TABLEの使い方について紹介していきます。

TRUNCATE TABLEは、テーブルのデータを全行高速で削除することができます。

使い方はとても簡単です。さっそくやり方を見ていきましょう。

TRUNCATE TABLE 使い方

まずは、TRUNCATE TABLEの使い方を紹介します。

TRUNCATE TABLE テーブル名

これだけで、TRUNCATE TABLEを使うことができます。とても簡単ですね。

指定したテーブルのデータがすべて削除されるので気を付けてください。

DELETE文との違い

続いて、DELETE 文と何が違うの?っと疑問を持った方もいると思いますので、簡単に解説していきます。

DELETE文との違いは大きく2つあります。

DELETE文との違い
  • TRUNCATE文は全てのデータを削除することしかできない。
  • DELETE文に比べて、TRUNCATE文は、高速で処理を行うことができます。

DELETE文は削除するデータをしてすることができますが、TRUNCATE文は全てのデータを削除することしかできません。

なのでDELETE文はWHERE句などを指定できますが、TRUNCATE文にはありません。

 

DELETE文に比べて、TRUNCATE文は、高速で処理を行うことができます。

TRUNCATE文は、ログを残さず全て削除するからです。

具体的に言うと、DELETE文は、トランザクションを張って実行することで、ロールバックができるようになっています。

ですが、TRUNCATE文はこういったことができません。なので、大量のデータを高速一括削除をすることができます。

 

どちらが優れているとかではないので、状況に応じて使い分けれるようにしておきましょう。

 

※SQLSERVERでは、TRUNCATEもトランザクションを張ることができます。

まとめ

今回は、TRUNCATE文を紹介しました。使い方はとても簡単です。

TRUNCATE TABLE テーブル名

 

また、DELETE文との違いを抑えて、DELETE文とTRUNCATE文を使い分けられるようにしておきましょう。

  • DELETE文は削除するデータをしてすることができますが、TRUNCATE文は全てのデータを削除することしかできません。
  • DELETE文に比べて、TRUNCATE文は、高速で処理を行うことができます。

 

SQLServerの記事一覧

おすすめの記事