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 FROM
słowa kluczowe. - Po drugie, dodaj warunek wyszukiwania w
WHERE
klauzula identyfikująca wiersze do usunięcia.WHERE
klauzula jest opcjonalną częściąDELETE
oświadczenie. Jeśli pominieszWHERE
klauzulaDELETE
instrukcja 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.