Nền tảng Kiến thức - Hành trang tới Tương lai
Card image

Chương 4-Bài 3. Câu lệnh Xóa dữ liệu (DELETE)

Tác giả: Dương Nguyễn Phú Cường #2664
Ngày đăng: Hồi xưa đó
Lượt xem: 807

Câu lệnh SQL DELETE

Câu lệnh DELETE FROM table WHERE ... dùng để xóa 1 hoặc nhiều dòng (records) dữ liệu.

Cú pháp DELETE

Chúng ta có thể sử dụng câu lệnh DELETE với 2 cách sau:

Cách 1: DELETE toàn bộ các dòng (records) có trong table (còn gọi là DELETE không điều kiện WHERE).

Cú pháp như sau:
DELETE FROM table_name;

Cách này cần phải sử dụng cẩn thận, nếu không có điều kiện WHERE dòng dữ liệu (record) cụ thể. Dữ liệu trong toàn bộ bảng (table) sẽ bị Xóa tất cả.

Cách 2: DELETE dữ liệu của 1 hoặc nhiều dòng (records) có trong table thỏa điều kiện cụ thể (còn gọi là DELETE có điều kiện WHERE).

Cú pháp như sau:
DELETE FROM table_name
WHERE condition1
      AND condition2
      OR condition3 ...;

Cách này thường được sử dụng trong dự án.


Ví dụ 1: Xóa các dòng dữ liệu (record) trong bảng (table) Nhà cung cấp shop_suppliers theo điều kiện WHERE id=10, id=12, id=13

  • Dữ liệu mong muốn xóa:
DELETE các dòng (record) có id=10, id=12, id=13 trong table Nhà cung cấp shop_suppliers:
id supplier_code supplier_name description image created_at updated_at
10 SUP10 Nokia Nokia suppliers/nokia_20200217170111.jpg 2020-02-17 16:08:51 NULL
12 SUP12 BPhone Điện thoại BPhone suppliers/bphone.jpg 2020-08-08 12:38:00 NULL
13 SUP13 VinPhone Điện thoại VinPhone suppliers/vinphone.jpg 2020-08-08 12:45:00 NULL
  • Lưu đồ Xóa dữ liệu

Step 1: Chuẩn bị câu lệnh DELETE query

  • Lưu đồ xử lý việc DELETE dữ liệu
  • Câu lệnh DELETE query:
-- DELETE dữ liệu trong table `shop_suppliers` với điều kiện id=10, id=12, id=13
DELETE FROM `shop_suppliers`
WHERE id=10
   OR id=12
   OR id=13;

Step 2: thực thi (Execute) câu lệnh SQL query trong HeidiSQL


Chương trình học


  1. Giới thiệu, cài đặt môi trường thực hành 1
    1. Database Online dành cho học tập và thực hành các ví dụ #8691
  2. Tổng quan, khái niệm về database 2
    1. Tổng quan, khái niệm về database và các thành phần trong database RDMS #8565
    2. Các kiểu dữ liệu trong MySQL #8575
  3. Các lệnh tạo cấu trúc (schema database) 7
    1. Mô hình thực thể ER của cơ sở dữ liệu (database) NetaShop #2448
    2. Tạo cơ sở dữ liệu (database) NetaShop - Sử dụng HeidiSQL #8587
    3. Tạo bảng (table) Danh mục phẳng - Sử dụng HeidiSQL #8582
    4. Tạo bảng (table) Danh mục có liên kết khóa ngoại (có quan hệ) - Sử dụng HeidiSQL #8597
    5. Tạo bảng (table) theo quan hệ Nhiều - Nhiều (N-N) - Sử dụng HeidiSQL #8619
    6. Tạo bảng (table) có Quan hệ Tự thân (self foreign key) - Sử dụng HeidiSQL #8664
    7. Cơ sở dữ liệu mẫu salomon #11820
  4. Các lệnh cập nhật dữ liệu (Insert - Update - Delete) 3
    1. Câu lệnh Thêm dữ liệu (INSERT) #2663
    2. Câu lệnh Cập nhật dữ liệu (UPDATE) #2665
    3. Câu lệnh Xóa dữ liệu (DELETE) #2664
  5. Các lệnh truy vấn dữ liệu (query data) 6
    1. Câu lệnh Truy vấn dữ liệu SELECT Đơn giản #2666
    2. Câu lệnh Truy vấn dữ liệu SELECT với bộ lọc dữ liệu WHERE #2668
    3. Câu lệnh Truy vấn dữ liệu SELECT với sắp xếp dữ liệu ORDER BY #2669
    4. Câu lệnh Truy vấn dữ liệu SELECT với mệnh đề giới hạn dữ liệu LIMIT OFFSET #8693
    5. Tìm hiểu cơ chế phân trang (Pagination) và cách viết câu lệnh truy vấn dữ liệu SELECT áp dụng cơ chế phân trang (Pagination) với LIMIT OFFSET #12249
    6. Bài tập Truy vấn CSDL #2457
  6. Các lệnh truy vấn dữ liệu (query data) - Nâng cao 5
    1. Các loại Kết nối LEFT JOIN, FULL JOIN, RIGHT JOIN #2670
    2. Kết nối các bảng dữ liệu INNER JOIN #2667
    3. Kết nối các bảng dữ liệu LEFT JOIN #11753
    4. Kết nối các bảng dữ liệu RIGHT JOIN #11752
    5. Kết nối các bảng dữ liệu FULL OUTER JOIN #11754
  7. Bài tập Tổng hợp 1
    1. Truy vấn dữ liệu cho Nghiệp vụ Bán hàng #2671
  8. Phân tích, thiết kế Hệ thống 8
    1. Các mối quan hệ giữa các Thực thể (Entity) #8596
    2. Bài tập thiết kế Cơ sơ dữ liệu quản lý Nhân viên và Phòng ban #8600
    3. Bài tập thiết kế Cơ sở dữ liệu Quản lý Giảng viên và Sinh viên #8601
    4. Bài tập thiết kế Cơ sở dữ liệu Quản lý Chấm công Tiền lương #8620
    5. Bài tập thiết kế Cơ sở dữ liệu Quản lý Nhân sự #8629
    6. Bài tập thiết kế Cơ sở dữ liệu Quản lý Bán hàng Thương mại điện tử (Có quản lý Nhập, Xuất, Kho hàng) #9352
    7. Kho sách, nguồn tài liệu tham khảo Cơ sở dữ liệu MySQL #9001
    8. Plugin tự động sinh tài liệu mô tả cấu trúc của các bảng cho MySQL Workbench #9356
  9. Quản trị người dùng và cấp quyền trong MySQL 1
    1. Tìm hiểu về các loại quyền có trong MySQL #10455
  10. Tham khảo 2
    1. Thiết kế Cơ sở dữ liệu Bán hàng TMĐT có quản lý Kho hàng, Nhập xuất, Tồn kho, Phân quyền, Khuyến mãi, Tin tức #12053
    2. Sinh số ngẫu nhiên RANDOM NUMBER trong MySQL #12292
Các bài học

Chương trình học

Bao gồm Module, Chương, Bài học, Bài tập, Kiểm tra...

Chương trình học


  1. Giới thiệu, cài đặt môi trường thực hành 1
    1. Database Online dành cho học tập và thực hành các ví dụ #8691
  2. Tổng quan, khái niệm về database 2
    1. Tổng quan, khái niệm về database và các thành phần trong database RDMS #8565
    2. Các kiểu dữ liệu trong MySQL #8575
  3. Các lệnh tạo cấu trúc (schema database) 7
    1. Mô hình thực thể ER của cơ sở dữ liệu (database) NetaShop #2448
    2. Tạo cơ sở dữ liệu (database) NetaShop - Sử dụng HeidiSQL #8587
    3. Tạo bảng (table) Danh mục phẳng - Sử dụng HeidiSQL #8582
    4. Tạo bảng (table) Danh mục có liên kết khóa ngoại (có quan hệ) - Sử dụng HeidiSQL #8597
    5. Tạo bảng (table) theo quan hệ Nhiều - Nhiều (N-N) - Sử dụng HeidiSQL #8619
    6. Tạo bảng (table) có Quan hệ Tự thân (self foreign key) - Sử dụng HeidiSQL #8664
    7. Cơ sở dữ liệu mẫu salomon #11820
  4. Các lệnh cập nhật dữ liệu (Insert - Update - Delete) 3
    1. Câu lệnh Thêm dữ liệu (INSERT) #2663
    2. Câu lệnh Cập nhật dữ liệu (UPDATE) #2665
    3. Câu lệnh Xóa dữ liệu (DELETE) #2664
  5. Các lệnh truy vấn dữ liệu (query data) 6
    1. Câu lệnh Truy vấn dữ liệu SELECT Đơn giản #2666
    2. Câu lệnh Truy vấn dữ liệu SELECT với bộ lọc dữ liệu WHERE #2668
    3. Câu lệnh Truy vấn dữ liệu SELECT với sắp xếp dữ liệu ORDER BY #2669
    4. Câu lệnh Truy vấn dữ liệu SELECT với mệnh đề giới hạn dữ liệu LIMIT OFFSET #8693
    5. Tìm hiểu cơ chế phân trang (Pagination) và cách viết câu lệnh truy vấn dữ liệu SELECT áp dụng cơ chế phân trang (Pagination) với LIMIT OFFSET #12249
    6. Bài tập Truy vấn CSDL #2457
  6. Các lệnh truy vấn dữ liệu (query data) - Nâng cao 5
    1. Các loại Kết nối LEFT JOIN, FULL JOIN, RIGHT JOIN #2670
    2. Kết nối các bảng dữ liệu INNER JOIN #2667
    3. Kết nối các bảng dữ liệu LEFT JOIN #11753
    4. Kết nối các bảng dữ liệu RIGHT JOIN #11752
    5. Kết nối các bảng dữ liệu FULL OUTER JOIN #11754
  7. Bài tập Tổng hợp 1
    1. Truy vấn dữ liệu cho Nghiệp vụ Bán hàng #2671
  8. Phân tích, thiết kế Hệ thống 8
    1. Các mối quan hệ giữa các Thực thể (Entity) #8596
    2. Bài tập thiết kế Cơ sơ dữ liệu quản lý Nhân viên và Phòng ban #8600
    3. Bài tập thiết kế Cơ sở dữ liệu Quản lý Giảng viên và Sinh viên #8601
    4. Bài tập thiết kế Cơ sở dữ liệu Quản lý Chấm công Tiền lương #8620
    5. Bài tập thiết kế Cơ sở dữ liệu Quản lý Nhân sự #8629
    6. Bài tập thiết kế Cơ sở dữ liệu Quản lý Bán hàng Thương mại điện tử (Có quản lý Nhập, Xuất, Kho hàng) #9352
    7. Kho sách, nguồn tài liệu tham khảo Cơ sở dữ liệu MySQL #9001
    8. Plugin tự động sinh tài liệu mô tả cấu trúc của các bảng cho MySQL Workbench #9356
  9. Quản trị người dùng và cấp quyền trong MySQL 1
    1. Tìm hiểu về các loại quyền có trong MySQL #10455
  10. Tham khảo 2
    1. Thiết kế Cơ sở dữ liệu Bán hàng TMĐT có quản lý Kho hàng, Nhập xuất, Tồn kho, Phân quyền, Khuyến mãi, Tin tức #12053
    2. Sinh số ngẫu nhiên RANDOM NUMBER trong MySQL #12292

Bài học trước Bài học tiếp theo