Tóm tắt :hướng dẫn này chỉ cho bạn cách sử dụng SQLite DELETE
để xóa các hàng khỏi bảng.
Giới thiệu về SQLite DELETE
tuyên bố
Bạn đã học cách chèn một hàng mới vào bảng và cập nhật dữ liệu hiện có của bảng. Đôi khi, bạn cần xóa các hàng khỏi bảng. Trong trường hợp này, bạn sử dụng SQLite DELETE
tuyên bố.
SQLite DELETE
câu lệnh cho phép bạn xóa một hàng, nhiều hàng và tất cả các hàng trong bảng. Cú pháp của SQLite DELETE
như sau:
DELETE FROM table
WHERE search_condition;
Code language: SQL (Structured Query Language) (sql)
Trong cú pháp này:
- Đầu tiên, chỉ định tên của bảng mà bạn muốn xóa các hàng sau
DELETE FROM
từ khóa. - Thứ hai, thêm điều kiện tìm kiếm trong
WHERE
mệnh đề để xác định các hàng cần loại bỏ.WHERE
mệnh đề là một phần tùy chọn củaDELETE
tuyên bố. Nếu bạn bỏ quaWHERE
mệnh đềDELETE
câu lệnh sẽ xóa tất cả các hàng trong bảng.
SQLite cũng cung cấp một phần mở rộng cho DELETE
tuyên bố bằng cách thêm ORDER BY
và LIMIT
điều khoản. Nếu bạn biên dịch SQLite với tùy chọn thời gian biên dịch SQLITE_ENABLE_UPDATE_DELETE_LIMIT, bạn có thể sử dụng ORDER BY
và LIMIT
mệnh đề trong DELETE
tuyên bố như mẫu sau:
DELETE FROM table
WHERE search_condition
ORDER BY criteria
LIMIT row_count OFFSET offset;
Code language: SQL (Structured Query Language) (sql)
ORDER BY
mệnh đề sắp xếp các hàng được lọc theo search_condition
trước trong WHERE
mệnh đề và LIMIT
mệnh đề chỉ định số hàng sẽ bị xóa.
Lưu ý rằng khi bạn sử dụng DELETE
câu lệnh không có WHERE
mệnh đề trên bảng không có trình kích hoạt. SQLite sẽ xóa tất cả các hàng trong một lần thay vì truy cập và xóa từng hàng riêng lẻ. Tính năng này được gọi là tối ưu hóa cắt ngắn.
SQLite DELETE
các ví dụ về tuyên bố
Chúng tôi sẽ sử dụng artists_backup
bảng được tạo trong hướng dẫn cách chèn hàng vào bảng.
Nếu bạn không làm theo hướng dẫn đó, bạn có thể tạo artists_backup
bảng và chèn dữ liệu vào nó bằng cách sử dụng tập lệnh sau:
-- create artists backup table
CREATE TABLE artists_backup(
artistid INTEGER PRIMARY KEY AUTOINCREMENT,
name NVARCHAR
);
-- populate data from the artists table
INSERT INTO artists_backup
SELECT artistid,name
FROM artists;
Code language: SQL (Structured Query Language) (sql)
Câu lệnh sau trả về tất cả các hàng từ artists_backup
bảng:
SELECT
artistid,
name
FROM
artists_backup;
Code language: SQL (Structured Query Language) (sql)
Hãy thử nó
Chúng tôi có 280 hàng trong artists_backup
bảng.
Để xóa nghệ sĩ có id 1, bạn sử dụng câu lệnh sau:
DELETE FROM artists_backup
WHERE artistid = 1;
Code language: SQL (Structured Query Language) (sql)
Hãy thử nó
Bởi vì chúng tôi sử dụng artistid
để xác định nghệ sĩ, câu lệnh đã xóa chính xác 1 hàng.
Giả sử bạn muốn xóa các nghệ sĩ có tên chứa từ Santana
:
DELETE FROM artists_backup
WHERE name LIKE '%Santana%';
Code language: SQL (Structured Query Language) (sql)
Hãy thử nó
Có 9 hàng có giá trị trong name
cột chứa từ Santana
do đó, 9 hàng này đã bị xóa.
Để xóa tất cả các hàng trong artists_backup
bảng, bạn chỉ cần bỏ qua WHERE
mệnh đề như câu sau:
DELETE FROM artists_backup;
Code language: SQL (Structured Query Language) (sql)
Hãy thử nó
Trong hướng dẫn này, bạn đã học cách sử dụng SQLite DELETE
để xóa các hàng trong bảng.