SQL DELETE語句用于刪除表中的記錄,可以根據指定的條件刪除部分記錄,也可以刪除所有記錄。DELETE語句會將記錄從表中刪除,并且會觸發觸發器和約束。
TRUNCATE TABLE語句用于刪除表中的所有記錄,但保留表的結構。TRUNCATE TABLE語句刪除表中的所有記錄,但不會觸發觸發器和約束,且刪除的操作不可回滾。
因此,主要區別在于DELETE是逐條刪除記錄,而TRUNCATE是一次刪除所有記錄。DELETE會觸發觸發器和約束,TRUNCATE不會觸發觸發器和約束。DELETE的操作可以回滾,TRUNCATE的操作不可回滾。