Samenvatting :deze tutorial laat je zien hoe je SQLite DELETE
gebruikt statement om rijen uit een tabel te verwijderen.
Inleiding tot SQLite DELETE
verklaring
U hebt geleerd hoe u een nieuwe rij in een tabel kunt invoegen en bestaande gegevens van een tabel kunt bijwerken. Soms moet u rijen uit een tabel verwijderen. In dit geval gebruikt u SQLite DELETE
verklaring.
De SQLite DELETE
Met de instructie kunt u één rij, meerdere rijen en alle rijen in een tabel verwijderen. De syntaxis van de SQLite DELETE
verklaring is als volgt:
DELETE FROM table
WHERE search_condition;
Code language: SQL (Structured Query Language) (sql)
In deze syntaxis:
- Geef eerst de naam op van de tabel waarvan u de rijen wilt verwijderen na de
DELETE FROM
trefwoorden. - Ten tweede, voeg een zoekvoorwaarde toe in de
WHERE
clausule om de rijen te identificeren die moeten worden verwijderd. DeWHERE
clausule is een optioneel onderdeel van deDELETE
uitspraak. Als u deWHERE
. weglaat clausule, deDELETE
statement verwijdert alle rijen in de tabel.
SQLite biedt ook een uitbreiding op de DELETE
statement door ORDER BY
. toe te voegen en LIMIT
clausules. Als u SQLite compileert met de SQLITE_ENABLE_UPDATE_DELETE_LIMIT compile-time optie, kunt u de ORDER BY
gebruiken en LIMIT
clausule in de DELETE
verklaring zoals de volgende vorm:
DELETE FROM table
WHERE search_condition
ORDER BY criteria
LIMIT row_count OFFSET offset;
Code language: SQL (Structured Query Language) (sql)
De ORDER BY
clausule sorteert de rijen gefilterd door de voorgaande search_condition
in de WHERE
clausule en de LIMIT
clausule specificeert het aantal rijen dat moet worden verwijderd.
Merk op dat wanneer u de DELETE
statement zonder een WHERE
clausule op een tabel die geen triggers heeft. SQLite verwijdert alle rijen in één keer in plaats van elke afzonderlijke rij te bezoeken en te verwijderen. Deze functie staat bekend als truncate-optimalisatie.
SQLite DELETE
voorbeelden van uitspraken
We gebruiken de artists_backup
tabel gemaakt in de handleiding voor het invoegen van rijen in tabellen.
Als je die tutorial niet hebt gevolgd, kun je de artists_backup
. maken tabel en voeg er gegevens in met behulp van het volgende script:
-- 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)
De volgende instructie retourneert alle rijen van de artists_backup
tafel:
SELECT
artistid,
name
FROM
artists_backup;
Code language: SQL (Structured Query Language) (sql)
Probeer het
We hebben 280 rijen in de artists_backup
tafel.
Om een artiest met id 1 te verwijderen, gebruik je de volgende instructie:
DELETE FROM artists_backup
WHERE artistid = 1;
Code language: SQL (Structured Query Language) (sql)
Probeer het
Omdat we artistid
. gebruiken om de artiest te identificeren, verwijderde de verklaring precies 1 rij.
Stel dat je artiesten wilt verwijderen wiens naam het woord Santana
. bevat :
DELETE FROM artists_backup
WHERE name LIKE '%Santana%';
Code language: SQL (Structured Query Language) (sql)
Probeer het
Er zijn 9 rijen waarvan de waarden in de name
kolom bevat het woord Santana
daarom zijn deze 9 rijen verwijderd.
Om alle rijen in de artists_backup
te verwijderen tabel, hoeft u alleen de WHERE
. weg te laten clausule als de volgende verklaring:
DELETE FROM artists_backup;
Code language: SQL (Structured Query Language) (sql)
Probeer het
In deze tutorial heb je geleerd hoe je SQLite DELETE
gebruikt statement om rijen in een tabel te verwijderen.