主な違い: DELETEは、プログラマーがSQLデータベース内のテーブルから単一行を削除することを可能にするコマンドです。 このコマンドはDML、またはむしろデータ操作言語に該当します。 TRUNCATEコマンドを使用すると、プログラマはSQLデータベースのテーブルからすべての行を削除できます。 このコマンドはデータ定義言語(DDL)に該当します。

SQLサーバーは、ネットワーク上またはインターネット経由でもアクセスされるデータを格納するために使用されます。 SQLサーバーは、インターネット上でデータを保存および取得する際に最も重要な役割を果たします。 それがサーバー用でなければ、インターネットは現在のものではないでしょう。
DELETEおよびTRUNCATEという用語は、これらのサーバーからデータを削除する際に重要な用語です。 データを追加したり、サーバーからデータを削除したりするには、さまざまな方法があります。 一方、データの追加については詳しく説明しません。 これら二つの言葉はデータを削除する仕事をします。 ただし、各単語は異なる機能を実行し、データを異なる方法で削除します。
DELETEは、プログラマーがSQLデータベースのテーブルから単一行を削除することを可能にするコマンドです。 このコマンドはDML、またはむしろデータ操作言語に該当します。 この言語は主に(名前が示すように)データの操作を担当します。 データの保存、変更、検索、削除、更新にも使用され、SELECT、INSERT、UPDATE、DELETEなどの用語が含まれています。利用可能なすべてのデータ行からの行。 また、キーワードを検索して特定の行を削除できるようにするフィルタや条件を使用することもできます。

TRUNCATEコマンドを使用すると、プログラマはSQLデータベースのテーブルからすべての行を削除できます。 このコマンドはデータ定義言語(DDL)に該当します。 DDL言語は、データベース内のテーブルやその他のオブジェクトの構造を構築および修正するために使用されます。 これには、CREATE、ALTER、DROP、COMMENT、RENAMEなどの他のコマンドがあります。この言語を使用する主な利点は、プログラマーがテーブルからすべての行を削除できることです。 また、これらのレコードに割り当てられたスペースを含むテーブルからすべてのレコードを削除します。
両者にはもう一つ大きな違いがあります。 DELETE機能には、システムが削除されたファイルのログを保存するロールバックオプションがあります。 これらのファイルは必要ならばプログラマーによって回復することができます。 ただし、TRUNCATE機能では、このオプションは使用できません。 ファイルが削除されると、それらはシステムからうまくいっていません。 ログを保持しないことが、TRUNCATE機能をDELETE機能よりも高速にしています。
削除と切り捨ての比較
削除する | 切り捨て | |
目的 | プログラマがテーブル内の行を削除できるようにするコマンドです。 | プログラマーがテーブルからすべての行を削除できるようにするコマンドです。 |
言語コマンド | データ操作言語 | データ定義言語 |
実行 | DELETEコマンドは、行ロックを使用して実行されます。この場合、テーブル内の各行は削除のためにロックされます。 | TRUNCATEコマンドはテーブルとページをロックしますが、各行はロックしません。 |
削除 | 条件が存在する指定データを削除 | テーブル内のすべてのデータを削除します |
フィルター | フィルタによる特定のデータの削除を許可します | フィルタを許可しない |
引き金 | 操作は個別にログに記録されるため、トリガーをアクティブにします | 操作は個々の行の削除を記録しないため、トリガーをアクティブにすることはできません。 |
パフォーマンスタイム | ログを保持するためパフォーマンスが低下します | ログを保存しないため、削除よりも高速 |
ロールバック(元に戻す) | ロールバックまたは元に戻すオプションを許可 | ロールバックまたは元に戻すオプションを許可しない |