Podsumowanie :ten samouczek pokazuje, jak używać SQLite DELETE instrukcja usuwania wierszy z tabeli.
Wprowadzenie do SQLite DELETE oświadczenie
Nauczyłeś się wstawiać nowy wiersz do tabeli i aktualizować istniejące dane tabeli. Czasami trzeba usunąć wiersze z tabeli. W tym przypadku używasz SQLite DELETE oświadczenie.
SQLite DELETE instrukcja pozwala usunąć jeden wiersz, wiele wierszy i wszystkie wiersze w tabeli. Składnia SQLite DELETE oświadczenie brzmi następująco:
DELETE FROM table
WHERE search_condition;Code language: SQL (Structured Query Language) (sql) W tej składni:
- Najpierw określ nazwę tabeli, z której chcesz usunąć wiersze po
DELETE FROMsłowa kluczowe. - Po drugie, dodaj warunek wyszukiwania w
WHEREklauzula identyfikująca wiersze do usunięcia.WHEREklauzula jest opcjonalną częściąDELETEoświadczenie. Jeśli pominieszWHEREklauzulaDELETEinstrukcja usunie wszystkie wiersze w tabeli.
SQLite zapewnia również rozszerzenie DELETE oświadczenie dodając ORDER BY i LIMIT klauzule. Jeśli kompilujesz SQLite z opcją czasu kompilacji SQLITE_ENABLE_UPDATE_DELETE_LIMIT, możesz użyć ORDER BY i LIMIT klauzula w DELETE oświadczenie podobne do następującego formularza:
DELETE FROM table
WHERE search_condition
ORDER BY criteria
LIMIT row_count OFFSET offset;Code language: SQL (Structured Query Language) (sql)
ORDER BY klauzula sortuje wiersze filtrowane według poprzedzającego search_condition w WHERE klauzula i LIMIT klauzula określa liczbę wierszy do usunięcia.
Zauważ, że gdy używasz DELETE instrukcja bez WHERE klauzula w tabeli, która nie ma wyzwalaczy. SQLite usunie wszystkie wiersze za jednym razem, zamiast odwiedzać i usuwać każdy pojedynczy wiersz. Ta funkcja jest znana jako optymalizacja skrócona.
SQLite DELETE przykłady wypowiedzi
Użyjemy artists_backup tabela utworzona w samouczku dotyczącym wstawiania wierszy do tabeli.
Jeśli nie postępowałeś zgodnie z tym samouczkiem, możesz utworzyć artists_backup tabeli i wstaw do niej dane za pomocą następującego skryptu:
-- 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)
Poniższa instrukcja zwraca wszystkie wiersze z artists_backup tabela:
SELECT
artistid,
name
FROM
artists_backup;Code language: SQL (Structured Query Language) (sql) Wypróbuj
Mamy 280 wierszy w artists_backup tabela.
Aby usunąć wykonawcę o identyfikatorze 1, użyj następującego oświadczenia:
DELETE FROM artists_backup
WHERE artistid = 1;Code language: SQL (Structured Query Language) (sql) Wypróbuj
Ponieważ używamy artistid aby zidentyfikować artystę, w oświadczeniu usunięto dokładnie 1 wiersz.
Załóżmy, że chcesz usunąć artystów, których nazwiska zawierają słowo Santana :
DELETE FROM artists_backup
WHERE name LIKE '%Santana%';Code language: SQL (Structured Query Language) (sql) Wypróbuj
Istnieje 9 wierszy, których wartości w name kolumna zawiera słowo Santana dlatego te 9 wierszy zostało usuniętych.
Aby usunąć wszystkie wiersze w artists_backup tabeli, wystarczy pominąć WHERE klauzulę jako następujące oświadczenie:
DELETE FROM artists_backup;Code language: SQL (Structured Query Language) (sql) Wypróbuj
W tym samouczku nauczyłeś się korzystać z SQLite DELETE instrukcja usuwania wierszy w tabeli.