Mệnh đề DELETE xóa dữ liệu trong SQL

Sử dụng câu lệnh DELETE FROM để xóa những dòng dữ liệu trong bảng SQL, delete trong sql chỉ xóa những dòng dữ liệu

Xóa dữ liệu bảng với mệnh đề delete from trong SQL

Với câu lệnh delete from bạn có thể xóa đi các dòng trong một bảng dữ liệu,
cú pháp cơ bản như sau:

delete from TABLE_NAME
where CONDITION;

Mệnh delete from xóa dữ liệu trong bảng sql chứ không xóa cấu trúc bảng.

  • TABLE_NAME là tên bảng cần xóa dòng dữ liệu
  • CONDITION điều kiện xóa, dòng nào có dữ liệu thỏa mãn CONDITION (trả về true) sẽ bị xóa

Các dòng dữ liệu khi xóa là không thể phục hồi, nên viết và thi hành câu lệnh delete thật cẩn trọng.

Nếu thiếu mệnh đề WHERE tất cả các dòng trong bảng bị xóa. Tham khảo thêm về viết
Mệnh đề Where trong SQL

delete sql
Ví dụ, xóa dòng có HoTen là ‘ Hoàng Đức Anh ‘

delete from Khachhang where HoTen='Hoàng Đức Anh';

Chạy thử
Nhớ lưu lại dữ liệu trước khi thực hành thực tế
Ở đây có một file CSDL mẫu dạng SQLite, bạn hoàn toàn có thể tải về nghiên cứu và điều tra, thực hành thực tế : CSDL SQLite mẫu. Hoặc sử dụng trực tiếp công cụ Online : Chạy SQL

Xóa toàn bộ dữ liệu trong bảng SQL

Thiếu mệnh đề WHERE sẽ xóa toàn bộ dữ liệu của bảng (xóa dữ liệu, còn bảng vẫn tồn tại,
nếu xóa bảng khỏi DB thực hiện lệnh drop table)

delete from table_name;
delete * from table_name;

Một số SQL Engine như MS SQLSERVER, MYSQL còn có mệnh đề TRUNCATE TABLE_NAME
để xóa tất cả các dòng của bảng, nó cũng tương đương DELETE nhưng đồng thời khởi tạo lại
transaction log (khi thêm dòng mới chỉ số tự động tăng bắt đầu từ 1)

Mệnh đề DELETE TABLE trong MySQL

Trong MySQL lệnh DELETE TABLE còn có thêm một số mở rộng, hãy xét
vài trường hợp sau

Có thể chỉ định số dòng sẽ xóa bằng cách thêm mệnh đề LIMIT, trường hợp này cũng hoàn toàn có thể thêm mệnh đề ORDER BY để xếp những dòng trước khi xóa

# xóa number_row dòng đầu tiên
delete from table_name [where condition] limit number_row;

# xóa number_row dòng có sắp xếp đầu tiên
delete from table_name [where condition]
order by col1, col2 ...
limit number_row;

Mệnh đề DELETE TABLE trong SQL Server

Trong SQL Server bạn cũng có thể xóa một số dòng đầu tiên:

# xóa number_row dòng đầu tiên
delete top(number_row) from table_name [where condition];

ĐĂNG KÝ KÊNH, XEM CÁC VIDEO TRÊN XUANTHULAB

Đăng ký nhận bài viết mới

Mệnh đề DELETE xóa dữ liệu trong SQL

Bài viết liên quan
Hotline 24/7: O984.666.352
Alternate Text Gọi ngay