Câu hỏi phỏng vấn SQL
Câu hỏi

Hãy mô tả sự khác biệt giữa lệnh TRUNCATE và lệnh DELETE trong SQL.

Câu trả lời

Lệnh TRUNCATE và lệnh DELETE trong SQL đều được sử dụng để xóa dữ liệu từ bảng, tuy nhiên chúng có một số khác biệt quan trọng:

  1. Loại lệnh: TRUNCATE là lệnh DDL (Data Definition Language) còn DELETE là lệnh DML (Data Manipulation Language). [1][2][3]

  2. Điều kiện xóa: TRUNCATE xóa toàn bộ dữ liệu trong bảng mà không cần điều kiện, trong khi DELETE có thể sử dụng mệnh đề WHERE để chỉ định các hàng cần xóa. [1][3][4]

  3. Tốc độ: TRUNCATE thường nhanh hơn DELETE vì nó chỉ cần giải phóng các trang dữ liệu thay vì xóa từng hàng một. [1][3][4]

  4. Ghi nhật ký: DELETE ghi lại từng hàng bị xóa vào nhật ký giao dịch, còn TRUNCATE chỉ ghi lại việc giải phóng các trang dữ liệu. [1][2][3]

  5. Khôi phục dữ liệu: Dữ liệu bị xóa bằng DELETE có thể được khôi phục bằng lệnh ROLLBACK, nhưng dữ liệu bị xóa bằng TRUNCATE khô...

middle

middle

Gợi ý câu hỏi phỏng vấn

expert

Sự khác biệt giữa B-Tree, R-Tree và Hash indexing trong SQL là gì?

entry

Định nghĩa về một bảng tạm trong SQL.

expert

Chỉ mục cơ sở dữ liệu trong SQL hoạt động như thế nào?"

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào