TRUNCATE文とは?データベース操作の基本概念をわかりやすく解説

Explanation of IT Terms

TRUNCATE文とは?データベース操作の基本概念をわかりやすく解説

データベースにおいて、テーブル内のデータを削除する方法には、DELETE文とTRUNCATE文の2種類があります。DELETE文はレコードを1件ずつ削除するため、大量のデータを削除する場合には処理時間がかかってしまいます。

ここで登場するのがTRUNCATE文です。TRUNCATE文はテーブル内の全てのレコードを一度に取り除くため、DELETE文よりも高速に大量のデータを削除することができます。

TRUNCATE文の基本構文

TRUNCATE文の基本構文は以下の通りです。

“`
TRUNCATE TABLE テーブル名;
“`

このように、TRUNCATE TABLEに続いて、削除対象となるテーブル名を指定します。また、TRUNCATE文を使用するには、データベース内でのテーブルの削除権限が必要になりますので、注意が必要です。

TRUNCATE文の注意点

TRUNCATE文を使用する際には、以下のような注意点があります。

  • データの復元ができない
  • TRUNCATE文を使用して削除したデータは完全に消去されるため、復元することができません。誤ってTRUNCATE文を使用すると、大量のデータが意図しない形で失われてしまう可能性があるため、注意が必要です。

  • トリガーは実行されない
  • TRUNCATE文によってテーブル内のデータが削除された場合、そのテーブルに紐づくトリガーは実行されません。トリガーを使用している場合は、削除処理前にトリガーの実行可否を確認してから、TRUNCATE文を実行するようにしましょう。

  • 自動増分列のリセット
  • テーブル内に自動増分列が設定されている場合、TRUNCATE文によってテーブル内のデータが削除されると、自動増分列の値がリセットされてしまいます。これによって、データの整合性が保たれなくなる場合があるため、自動増分列を使用している場合は、TRUNCATE文を実行する前に値のバックアップを取るようにしましょう。

まとめ

TRUNCATE文は、テーブル内の全データを一度に削除するため、DELETE文よりも高速に多量のデータを削除できることが特長です。ただし、データの復元ができないこと、トリガーが実行されないこと、自動増分列のリセットが起こることに注意が必要です。

参考記事

参考サイト

合わせて読みたい

【Google Chrome】右クリックで翻訳がでなくなった時の対策方法の決定版