Xóa so với Thả
Cả hai lệnh Xóa và Thả đều thuộc các câu lệnh SQL (Ngôn ngữ Truy vấn Có cấu trúc) và chúng được sử dụng trong trường hợp xóa dữ liệu khỏi cơ sở dữ liệu. Xóa là lệnh DML (Ngôn ngữ thao tác dữ liệu). Nó xóa một số hoặc tất cả dữ liệu khỏi bảng theo điều kiện mà người dùng đã chỉ định. Câu lệnh Delete chỉ xóa các bản ghi dữ liệu trong bảng, nhưng cấu trúc bảng hiển thị giống nhau trong cơ sở dữ liệu. Lệnh Drop là một câu lệnh DDL (Ngôn ngữ Định nghĩa Dữ liệu) và nó hoạt động theo một cách khác với lệnh Delete. Nó không phải là một câu lệnh dựa trên điều kiện, do đó, xóa toàn bộ dữ liệu khỏi bảng, nó cũng xóa cấu trúc bảng và tất cả các tham chiếu đến bảng đó vĩnh viễn khỏi cơ sở dữ liệu.
Xóa Tuyên bố
Như đã đề cập ở trên, câu lệnh Delete xóa dữ liệu khỏi bảng dựa trên điều kiện được cung cấp và mệnh đề Where được sử dụng với Delete để chỉ định điều kiện bắt buộc này. Nếu mệnh đề Where không được nêu với Delete, tất cả dữ liệu bảng sẽ bị xóa khỏi bảng. Tuy nhiên, trong thao tác Xóa, cấu trúc bảng hiện có vẫn giữ nguyên. Do đó, người dùng không cần xác định cấu trúc bảng nếu muốn sử dụng lại bảng. Vì Delete là một lệnh DML, nó không tự động cam kết sau khi thực thi. Vì vậy, thao tác này có thể được quay lại để hoàn tác thao tác trước đó. Nếu không, tuyên bố cam kết sẽ được gọi để thực hiện các thay đổi vĩnh viễn. Trong khi thực hiện câu lệnh Delete, nó ghi lại một mục nhập trong nhật ký giao dịch cho mỗi lần xóa hàng. Vì vậy, điều này ảnh hưởng đến việc làm chậm hoạt động. Ngoài ra, nó không phân bổ không gian được sử dụng sau khi thực thi.
Sau đây là cú pháp cho câu lệnh Xóa.
XÓA TỪ
hoặc
XÓA TỪ ĐÂU
Câu lệnh thả
Câu lệnh Drop không chỉ loại bỏ tất cả các bản ghi bảng khỏi cơ sở dữ liệu mà không có bất kỳ điều kiện nào, mà còn loại bỏ vĩnh viễn cấu trúc bảng, ràng buộc toàn vẹn, chỉ mục và đặc quyền truy cập của bảng có liên quan khỏi cơ sở dữ liệu. Vì vậy, tất cả các mối quan hệ cho các bảng khác cũng không còn tồn tại và thông tin về bảng sẽ bị xóa khỏi từ điển dữ liệu. Vì vậy, nếu người dùng muốn sử dụng lại bảng, họ cần xác định lại cấu trúc bảng và tất cả các tham chiếu khác đến bảng. Drop là một lệnh DDL và sau khi thực hiện lệnh, nó không thể được khôi phục lại, vì lệnh Drop sử dụng một cam kết tự động. Do đó, người dùng cần hết sức cẩn thận khi sử dụng lệnh này. Không thể áp dụng câu lệnh Drop trên các bảng hệ thống và cũng không thể sử dụng nó cho các bảng có ràng buộc khóa ngoại.
Lệnh Drop có thể được sử dụng không chỉ cho các bảng SQL mà còn cho cơ sở dữ liệu, khung nhìn và cột bảng và tất cả dữ liệu được lưu trữ trong các đối tượng này sẽ bị mất vĩnh viễn cùng với các đối tượng.
Sau đây là cú pháp điển hình cho lệnh Drop.
THẢ BẢNG
Sự khác biệt giữa Xóa và Thả là gì?
1. Các lệnh Xóa và Thả sẽ xóa dữ liệu bảng khỏi cơ sở dữ liệu.
2. Nhưng câu lệnh Delete thực hiện xóa dựa trên điều kiện, trong khi lệnh Drop xóa toàn bộ bản ghi trong bảng.
3. Ngoài ra, lệnh Delete chỉ loại bỏ các hàng trong bảng và nó giữ nguyên cấu trúc bảng, trong khi lệnh Drop loại bỏ tất cả dữ liệu trong bảng và cấu trúc bảng, nó cũng loại bỏ tất cả các tham chiếu khác khỏi cơ sở dữ liệu.
4. Delete là một câu lệnh DML, trong khi Drop là một lệnh DDL. Vì vậy, thao tác Xóa có thể được khôi phục lại và nó không được cam kết tự động, trong khi thao tác Thả không thể được khôi phục theo bất kỳ cách nào vì nó là một câu lệnh được cam kết tự động.
5. Lệnh Drop không thể được sử dụng trên các bảng đã được tham chiếu bởi các ràng buộc khóa ngoại, trong khi lệnh Delete có thể được sử dụng thay thế cho lệnh đó.
6. Lệnh Drop nên được sử dụng cẩn thận với sự hiểu biết tốt so với lệnh Delete trong các ứng dụng SQL.