DB/SQL

TRUNCATEとは? DELETE文との違い

TRUNCATE

すべてのデータを削除するときdelete文を使用すると時間がかかった経験はありませんか?今回はdelete文の代わりとして使用するTRUNCATE文のメリットとデメリットを学んでいきましょう。

ペンちゃん
ペンちゃん
今回はTRUNCATE文のメリットとデメリットについてお勉強しましょう!

TRUNCATE文とDELETE文

TRUNCATEとDELETEの違いは何でしょうか?今回は2つの違いについてお勉強しましょう。

TRUNCATEとは?

TRUNCATEとはテーブルのすべてのデータを削除するコマンドです。
構文は次のようになります。

例として、penchanというテーブル名のデータをすべて削除したい場合は次のように書きます。

DELETE文とは?

DELETE文もテーブルのデータを削除するコマンドです。
構文は次のようになります。

例として、penchanというテーブル名のデータをすべて削除したい場合は次のように書きます。

TRUNCATEとDELETEの違いは?

DELETE文で条件を指定しない場合と、TRUNCATEでは同じことができます。
しかしDELETE文ではデータを1レコードずつ削除するのに対して、TRUNCATE文はテーブルを削除して改めてテーブルが作成されます。TRUNCATEを使うメリットとデメリットは以下のようになります。

TRUNCATEのメリット
  • データが多い場合には高速

  • TRUNCATEのデメリット
  • ロールバックができない

  • TRUNCATE文はデータ量の多いテーブルのすべてのデータを消したい&ロールバックはしない場合に使用しましょう。

    まとめ

    TRUNCATEとDELETE文についてまとめると以下のようになります。

    ここにタイトルを入力
    • DELETE文⇒データを1レコードずつ削除する
    • TRUNCATE文⇒テーブルを削除して再作成する
    ペンちゃん
    ペンちゃん
    今回はTRUNCATE文のメリットとデメリットについてお勉強しました!