スポンサーリンク

【応用情報技術者試験】DELETEとTRUNCATEの違いをわかりやすく解説

「DELETEとTRUNCATEってどっちも削除じゃないの?」
応用情報技術者試験でもデータベース分野で頻出ですが、

  • 両方削除?
  • DROPと何が違う?
  • 速度違う?
  • WHERE使える?

で混乱する人がかなり多いテーマです。

この記事では、

  • DELETEとは?
  • TRUNCATEとは?
  • 違い
  • DROPとの違い
  • 試験での頻出ポイント

を分かりやすく解説します!


まず結論

DELETE

「条件を指定してデータ削除できる」

TRUNCATE

「テーブル内データを一括削除する」

これが最大の違い!


超簡単にいうと

コマンドイメージ
DELETE必要な物だけ捨てる
TRUNCATE箱の中を全部空にする

DELETEとは?

超頻出!


DELETE

役割:

レコード削除


特徴

  • 条件指定可能
  • 一部削除可能
  • 行単位削除

DELETE FROM 社員
WHERE 部署=’営業’;


意味

営業部だけ削除。


WHERE省略すると?

超重要!


DELETE FROM 社員;

全件削除


TRUNCATEとは?

超重要!


役割

全データ高速削除


TRUNCATE TABLE 社員;


特徴

  • 全件削除のみ
  • 高速
  • 条件指定不可

WHERE使える?

答え:

使えない


なぜ速い?

重要!


DELETE

1行ずつ削除


TRUNCATE

まとめて初期化


ログ量の違い

試験頻出!

項目DELETETRUNCATE
ログ量多い少ない
処理速度遅め高速

DELETEとTRUNCATEの違い

比較DELETETRUNCATE
条件削除×
WHERE×
全削除
速度遅め高速
行単位×

DROPとの違い

超頻出!


DELETE

データ消す


TRUNCATE

データ全部消す


DROP

テーブル消す


イメージ

DELETE
→ 一部掃除

TRUNCATE
→ 全部空にする

DROP
→ 箱ごと捨てる


AUTO_INCREMENTへの影響

発展知識!


DELETE

継続すること多い


TRUNCATE

リセットされること多い

※DB製品依存あり


ロールバックできる?

注意!


DELETE

できる場合多い


TRUNCATE

DB依存・制限あり


応用情報で超頻出

かなり狙われる👇

  • WHERE可否
  • DROP違い
  • 高速削除
  • 全件削除
  • SQL分類

よくあるひっかけ

「TRUNCATEは条件削除できる」

→ ❌違う!

TRUNCATEは:

全削除専用


1分で復習!

DELETE

条件削除


TRUNCATE

全削除高速


DROP

テーブル削除


超重要

  • WHERE
  • 速度
  • ログ量

練習問題

問題

TRUNCATEの特徴として最も適切なものはどれか。

WHERE句が使える

一部レコード削除向き

テーブル内データを高速に全削除する

テーブル定義も削除する


解答

正解:ウ

解説

TRUNCATEは、テーブル構造を残したまま全データを高速削除します。


まとめ

DELETEとは

「条件削除」


TRUNCATEとは

「高速全削除」


超重要

  • WHERE可否
  • DROPとの違い
  • ログ量
  • 処理速度

まずは、

「DELETE=1件ずつ消す」

「TRUNCATE=まとめて空にする」

このイメージを持つとかなり理解しやすくなります!


知識に自信ができた方は、今度は自身のキャリアアップに向けて準備してみませんか?

未経験から、ITエンジニアへ。
「IT業界に興味はあるけれど、自分にできるか不安」「何から始めればいいのか分からない」そんな方のために、Tech GO は未経験からのIT転職を専門的にサポートします。求人を紹介するだけではなく、あなたの強みを整理し、応募準備から入社後の成…

まずは無料でキャリア相談

コメント