Sự khác biệt giữa các lệnh TRUNCATE, DELETE và DROP trong SQL Server là gì?
Sự khác biệt giữa các lệnh TRUNCATE, DELETE và DROP trong SQL Server là gì?
Trong SQL Server, các lệnh TRUNCATE, DELETE, và DROP đều được sử dụng để xóa dữ liệu, nhưng chúng có những sự khác biệt quan trọng về cách thức hoạt động và kết quả của việc xóa:
DELETEDELETE là một lệnh DML (Data Manipulation Language) được sử dụng để xóa một hoặc nhiều hàng (tuples) trong một bảngDELETE có thể xóa tất cả hàng hoặc xóa hàng theo điều kiện cụ thể sử dụng WHERE clauseDELETE ghi lại mỗi hàng bị xóa trong transaction log, do đó nó chậm hơn so với TRUNCATE và có thể rollback (hoàn tác) nếu lệnh được thực hiện trong một giao dịchTRUNCATETRUNCATE cũng là một lệnh DDL (Data Definition Language) được sử dụng để xóa tất cả hàng trong một bảng một cách nhanh chóngWHERE: TRUNCATE không cho phép sử dụng WHERE clause và không thể xóa hàng riêng lẻmiddle