XÓA
- DELETE là một Lệnh DML.
- Câu lệnh DELETE được thực hiện bằng cách sử dụng khóa hàng, mỗi hàng trong bảng sẽ bị khóa để xóa.
- Chúng tôi có thể chỉ định các bộ lọc trong mệnh đề where
- Nó sẽ xóa dữ liệu được chỉ định nếu điều kiện tồn tại.
- Xóa sẽ kích hoạt một trình kích hoạt bởi vì thao tác này được ghi lại riêng lẻ.
- Chậm hơn so với cắt ngắn vì nó lưu giữ nhật ký.
- Có thể khôi phục.
TRUNCATE
- TRUNCATE là một lệnh DDL.
- BẢNG TRUNCATE luôn khóa bảng và trang nhưng không khóa từng hàng.
- Không thể sử dụng Điều kiện ở đâu.
- Nó xóa tất cả dữ liệu.
- BẢNG TRUNCATE không thể kích hoạt trình kích hoạt vì thao tác này không ghi nhật ký các lần xóa hàng riêng lẻ.
- Hiệu suất nhanh hơn một cách khôn ngoan vì nó không lưu giữ bất kỳ nhật ký nào.
- Có thể khôi phục.
- DELETE và TRUNCATE đều có thể được khôi phục khi được sử dụng vớiTRANSACTION (TRUNCATE có thể được khôi phục trong SQL Server, nhưng không được khôi phục trong MySQL).
- nếu có một PK với tăng tự động, cắt ngắn sẽ đặt lại bộ đếm
http://beginner-sql-tutorial.com/sql-delete-statement .htm