すべてのデータを削除するときdelete文を使用すると時間がかかった経験はありませんか?今回はdelete文の代わりとして使用するTRUNCATE文のメリットとデメリットを学んでいきましょう。
ペンちゃん
今回はTRUNCATE文のメリットとデメリットについてお勉強しましょう!
スポンサーリンク
TRUNCATE文とDELETE文
TRUNCATEとDELETEの違いは何でしょうか?今回は2つの違いについてお勉強しましょう。
TRUNCATEとは?
TRUNCATEとはテーブルのすべてのデータを削除するコマンドです。
構文は次のようになります。
1 |
TRUNCATE [TABLE] table_name |
例として、penchanというテーブル名のデータをすべて削除したい場合は次のように書きます。
1 |
TRUNCATE TABLE penchan |
DELETE文とは?
DELETE文もテーブルのデータを削除するコマンドです。
構文は次のようになります。
1 |
DELETE FROM table_name [WHERE 条件] |
例として、penchanというテーブル名のデータをすべて削除したい場合は次のように書きます。
1 |
DELETE FROM penchan |
TRUNCATEとDELETEの違いは?
DELETE文で条件を指定しない場合と、TRUNCATEでは同じことができます。
しかしDELETE文ではデータを1レコードずつ削除するのに対して、TRUNCATE文はテーブルを削除して改めてテーブルが作成されます。TRUNCATEを使うメリットとデメリットは以下のようになります。
TRUNCATEのメリット
TRUNCATEのデメリット
TRUNCATE文はデータ量の多いテーブルのすべてのデータを消したい&ロールバックはしない場合に使用しましょう。
まとめ
TRUNCATEとDELETE文についてまとめると以下のようになります。
ここにタイトルを入力
- DELETE文⇒データを1レコードずつ削除する
- TRUNCATE文⇒テーブルを削除して再作成する
ペンちゃん
今回はTRUNCATE文のメリットとデメリットについてお勉強しました!