03. Lệnh DELETE trong SQL

Lênh DELETE trong SQL

Chúng ta đã nói đên lệnh DELETE trong phần theo tác với bảng dữ liệu trong SQL. Ở bài học này ta sẽ đi sâu hơn vào cách sử dụng câu lệnh này.

Lệnh DELETE được sử dụng để xóa các hàng khỏi bảng. Thông thường lệnh DELETE có thể xóa một hoặc nhiều bản ghi ra khỏi bảng.

Cú pháp của lệnh DELETE:

DELETE FROM ten_bang [WHERE dieu_kien];

Mệnh đề WHERE có thể có hoặc không có trong lệnh DELETE, nếu mệnh đề WHERE không tồn tại trong lệnh DELETE, có nghĩa là toàn bộ bảng sẽ bị xóa.

Ví dụ cách dùng lệnh DELETE trong SQL

Xét bảng dữ liệu Employee sau:

ID Name City Salary
1 Nguyen Van Thanh Ha Noi 2000
2 Le Van Minh Ha Noi 1200
3 Hoang Van Tu Ha Noi 900
4 Le Trong Quan Ha Noi 1100

Lệnh xóa bảng có sử dụng điều kiện WHERE:

DELETE FROM Employees WHERE ID=1;

Sau khi chạy câu lệnh, kết quả thu được là:

Nếu không sử dụng mệnh đề điều kiện WHERE, kết quả thu được sẽ là một bảng trống (Tuy nhiên cấu trúc bảng vẫn được giữ lại):

DELETE FROM Employees;

Các trường hợp mà ta có thể sử dụng lệnh DELETE bao gồm:

Xóa bảng

Tuy nhiên vẫn giữ lại cấu trúc bảng, bao gồm tên và kiểu dữ liệu của các cột.

Xóa một số hàng nhất định

Ta có thể xóa một số hàng nhất định bằng cách chỉ rõ ra hàng cần xóa bằng các điều kiện trong mệnh đề WHERE.

Xóa tất cả các hàng

Để xóa tất cả các hàng ta sử dụng lệnh “DELETE FROM <tên bảng>;” (không dùng mệnh đề WHERE trong câu lệnh này).

Xóa các hàng bị lặp

Để xóa các hàng bị trùng lặp ta có nhiều kỹ thuật, nhưng có một cách rất đơn gian để làm việc này là dựa vào lệnh “SELECT DISTINCT“. Lệnh này sẽ trả về kết quả bảng dữ liệu với dữ liệu là các bản ghi không bị trùng lặp. Các bạn có thể tìm hiểu thêm ở đây.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *