Tạo và thao tác dữ liệu là cơ sở của cơ sở dữ liệu và chúng tôi gọi nó là DDL và DML tương ứng. DDL là tên viết tắt của Ngôn ngữ Định nghĩa Dữ liệu. Nó có thể tạo hoặc sửa đổi cấu trúc dữ liệu trong cơ sở dữ liệu và chúng không thể được sử dụng để thay đổi dữ liệu hiện trên bảng. Ví dụ: chúng ta có các lệnh chỉ tạo một bảng với các thuộc tính bảng được chỉ định nhưng nó không bao giờ thêm bất kỳ hàng nào vào bảng. Nhưng một DML, Ngôn ngữ thao tác dữ liệu, có khả năng thêm, xóa hoặc sửa đổi dữ liệu trong các bảng. Theo nguyên tắc chung, các lệnh DDL xử lý các cấu trúc bảng trong khi các lệnh DML xử lý dữ liệu thực tế. Hãy để nó là, tại sao chúng ta chỉ đi chệch khỏi chủ đề Khác biệt giữa cắt ngắn và xóa xóa? Có nhiều lý do mà chúng tôi đã nói về DML và DDL. Bạn sẽ hiểu nó trong cuộc thảo luận sắp tới.
Mục đích của lệnh Truncate là xóa toàn bộ bảng. Vì vậy, khi bạn sử dụng lệnh Truncate, bạn sẽ mất tất cả dữ liệu trên bảng và bạn nên thận trọng khi sử dụng nó. Hãy cho chúng tôi biết làm thế nào để sử dụng nó.
Cú pháp của Truncate:
BẢNG TRUNCATE tên bảng;
Ở đây, bạn nên chỉ định tên của bảng nên được xóa trên toàn bộ. Điều này đảm bảo rằng sẽ có bất kỳ bảng nào ngồi trong không gian bộ nhớ. Dưới đây là một ví dụ về việc sử dụng Truncate.
Dưới đây là bảng 'nhân viên' và chỉ cần nhìn vào các hàng dữ liệu trong đó.
emp-id | tên quốc gia | chỉ định |
1011 | Jack | Nhân viên bán hàng |
1012 | Rosy | quản trị viên |
1014 | Nancy | Tài chính |
Bây giờ, chúng ta hãy đưa ra lệnh dưới đây trên bảng nhân viên.
BẢNG TRUNCATE Nhân viên;
Đây là kết quả của cú pháp trên và không có dữ liệu trong đó.
emp-id | tên quốc gia | chỉ định |
Mục đích của lệnh Xóa là xóa các hàng được chỉ định khỏi bảng. Ở đây, mệnh đề 'Where' được sử dụng ở đây để chỉ định các hàng cần xóa. Khi chúng ta không chỉ định các hàng, lệnh sẽ xóa tất cả các hàng trong bảng. Chỉ cần nhìn vào cú pháp của nó.
XÓA TỪ Nhân viên;
Cú pháp trên xóa tất cả các hàng khỏi bảng 'nhân viên'. Vì vậy, bảng kết quả sẽ không chứa dữ liệu.
XÓA TỪ Nhân viên Ở ĐÂU emp-id = 1011;
Câu lệnh này chỉ xóa một hàng đơn có emp-id là 1011. Vì vậy, bảng kết quả sẽ như dưới đây.
emp-id | tên quốc gia | chỉ định |
1012 | Rosy | quản trị viên |
1014 | Nancy | Tài chính |
Cắt ngắn -> xóa toàn bộ dữ liệu khỏi bảng -> Không gian bảng được giải phóng ngay bây giờ.
Xóa bỏ -> Sao chép dữ liệu bảng gốc vào không gian Roll Back -> xóa dữ liệu đã chỉ định / toàn bộ bảng -> Không gian bảng được giải phóng nhưng không gian Roll Back được lấp đầy.
Truncate là lệnh DDL, kích hoạt không được phép ở đây. Nhưng Xóa là một lệnh DML, Triggers được phép ở đây.
Vì vậy, đó là những khác biệt và chúng ta hãy xem xét dưới dạng bảng.
S.Không | Sự khác biệt trong | Cắt ngắn | Xóa bỏ |
1. | DDL hoặc DML? | Nó là một DDL và nó hoạt động ở cấp cấu trúc dữ liệu. Các ví dụ khác cho DDL là CREATE và ALTER. | Nó là một lệnh DML và nó hoạt động trên dữ liệu bảng. DML là viết tắt của Ngôn ngữ thao tác dữ liệu. Các lệnh như CHỌN, CẬP NHẬT và CHERTN là những ví dụ hoàn hảo cho một DML. DML là viết tắt của Ngôn ngữ thao tác dữ liệu. |
2. | Làm thế nào nó hoạt động? | Ngay khi chúng ta phát lệnh Truncate, nó chỉ tìm bảng được chỉ định. Sau đó, nó loại bỏ hoàn toàn tất cả dữ liệu khỏi bộ nhớ. | Tại đây, dữ liệu bảng gốc được sao chép vào không gian được gọi là không gian 'Quay lại' trước khi thực hiện thao tác dữ liệu thực tế. Sau đó, các thay đổi được thực hiện trên không gian dữ liệu bảng thực tế. |
3. | Phục hồi | Lệnh Truncate không bao giờ sử dụng không gian khôi phục và chúng tôi không thể quay lại dữ liệu gốc. Không gian Rollback là một không gian độc quyền và bị chiếm dụng khi các lệnh DML được ban hành. | Lệnh Xóa sử dụng không gian quay lại và chúng ta có thể sử dụng 'Cam kết' hoặc 'Quay lại' để chấp nhận hoặc hủy các thay đổi tương ứng.
|
4. | Gây nên | Truncate là lệnh DDL, kích hoạt không được phép. | Xóa là một lệnh DML, Triggers được cho phép ở đây.
|
5. | Cái nào nhanh hơn? | Nó có thể xóa tất cả dữ liệu và không cần kiểm tra bất kỳ điều kiện khớp nào. Ngoài ra, dữ liệu gốc không được sao chép vào không gian rollback và điều này giúp tiết kiệm rất nhiều thời gian. Hai yếu tố này làm cho Truncate hoạt động nhanh hơn Xóa.
| Nó sử dụng không gian rollback và luôn luôn giữ lại dữ liệu gốc trên đó. Đây là một gánh nặng thêm và đến lượt nó, mất nhiều thời gian hơn so với Truncate. |
6. | Chúng ta có thể sử dụng mệnh đề WHERE? | Vì Truncate không bao giờ tìm kiếm bất kỳ điều kiện khớp nào và nó chỉ xóa tất cả các hàng, chúng tôi không thể sử dụng mệnh đề 'Where' ở đây. | Nhưng chúng ta luôn có thể chỉ định điều kiện với sự trợ giúp của mệnh đề 'where' trong lệnh Xóa. |
7. | Mà chiếm nhiều không gian? | Việc cắt ngắn sẽ không sử dụng không gian rollback và nó sẽ tiết kiệm bộ nhớ đó. | Nó cần một bản sao lưu dưới dạng không gian Rollback và do đó nó đòi hỏi nhiều không gian bộ nhớ hơn so với cắt ngắn. |
Biết được sự khác biệt giữa bất kỳ hai thực thể nào sẽ mở rộng kiến thức về cả hai! Bạn đã đi đúng một con đường, tức là trang web để hiểu sự khác biệt, đặc biệt, giữa các lệnh cắt và xóa. Hy vọng bạn bây giờ rõ ràng với sự khác biệt của nó và cho chúng tôi biết nếu chúng tôi đã giúp bạn hiểu nó. Bạn cũng có thể giúp chúng tôi chỉ ra những gì còn lại!