Tạo truy vấn xóa chứa chức năng loại bỏ các bản ghi từ những bảng được liệt kê trong mệnh đề FROM thỏa mãn mệnh đề WHERE.
Cú pháp
DELETE [table.*]
Bảng FROMTiêu chí WHERECâu lệnh DELETE có các phần sau:
Phần |
Mô tả |
bảng |
Tên tùy chọn của bảng mà các bản ghi bị xóa khỏi. |
table |
Tên của bảng mà các bản ghi bị xóa khỏi. |
criteria |
biểu thức có chức năng xác định sẽ xóa bản ghi nào. |
Chú thích
DELETE đặc biệt hữu dụng khi bạn muốn xóa nhiều bản ghi.
Để bỏ toàn bộ bảng khỏi cơ sở dữ liệu, bạn có thể sử dụng phương pháp Thực thi với một câu lệnh DROP. Tuy nhiên, nếu xóa bảng, cấu trúc sẽ bị mất. Ngược lại, khi sử dụng DELETE, chỉ có dữ liệu mới bị xóa; cấu trúc bảng và toàn bộ các thuộc tính bảng, như thuộc tính trường và chỉ mục, vẫn còn nguyên vẹn.
Bạn có thể sử dụng DELETE để xóa bản ghi từ các bảng trong quan hệ một - nhiều với các bảng khác. Thao tác xóa xếp tầng làm cho các bản ghi trong bảng thuộc nhiều bên mối quan hệ bị xóa khi bản ghi tương ứng trong một bên của mối quan hệ bị xóa ở truy vấn. Ví dụ: trong mối quan hệ giữa các bảng Khách_hàng và Đơn_hàng, bảng Khách_hàng ở một bên còn bảng Đơn_hàng nằm ở nhiều bên của mối quan hệ. Nếu tùy chọn xóa xếp tầng được chỉ định thì khi xóa bản ghi khỏi kết quả của Khách_hàng, bản ghi trong Đơn_hàng tương ứng sẽ bị xóa.
Truy vấn xóa sẽ xóa toàn bộ bản ghi, chứ không chỉ dữ liệu trong các trường cụ thể. Nếu bạn muốn xóa nhiều giá trị trong một trường cụ thể, hãy tạo truy vấn cập nhật có chức năng thay đổi các giá trị thành Null.
Quan trọng:
-
Sau khi xóa bản ghi bằng cách sử dụng truy vấn xóa, bạn không thể hoàn tác thao tác này. Nếu bạn muốn biết bản ghi nào đã bị xóa, trước tiên, hãy kiểm tra kết quả của truy vấn chọn sử dụng cùng tiêu chí rồi chạy truy vấn xóa.
-
Hãy duy trì các bản sao lưu dữ liệu tại mọi thời điểm. Nếu xóa các bản ghi không đúng, bạn có thể truy xuất lại từ bản dự phòng của mình.