Riepilogo :questo tutorial ti mostra come usare SQLite DELETE
istruzione per rimuovere righe da una tabella.
Introduzione a SQLite DELETE
dichiarazione
Hai imparato come inserire una nuova riga in una tabella e aggiornare i dati esistenti di una tabella. A volte, è necessario rimuovere le righe da una tabella. In questo caso, usi SQLite DELETE
dichiarazione.
SQLite DELETE
istruzione consente di eliminare una riga, più righe e tutte le righe in una tabella. La sintassi di SQLite DELETE
dichiarazione è la seguente:
DELETE FROM table
WHERE search_condition;
Code language: SQL (Structured Query Language) (sql)
In questa sintassi:
- In primo luogo, specifica il nome della tabella di cui desideri rimuovere le righe dopo
DELETE FROM
parole chiave. - In secondo luogo, aggiungi una condizione di ricerca in
WHERE
clausola per identificare le righe da rimuovere. IlWHERE
La clausola è una parte facoltativa diDELETE
dichiarazione. Se ometti il WHERE
clausola, ilDELETE
istruzione cancellerà tutte le righe nella tabella.
SQLite fornisce anche un'estensione per DELETE
dichiarazione aggiungendo ORDER BY
e LIMIT
clausole. Se compili SQLite con l'opzione di compilazione SQLITE_ENABLE_UPDATE_DELETE_LIMIT, puoi utilizzare ORDER BY
e LIMIT
clausola nel DELETE
dichiarazione come il seguente modulo:
DELETE FROM table
WHERE search_condition
ORDER BY criteria
LIMIT row_count OFFSET offset;
Code language: SQL (Structured Query Language) (sql)
Il ORDER BY
La clausola ordina le righe filtrate dalla search_condition
precedente nel WHERE
clausola e il LIMIT
La clausola specifica il numero di righe da eliminare.
Nota che quando usi DELETE
dichiarazione senza un WHERE
clausola su una tabella che non ha trigger. SQLite eliminerà tutte le righe in un colpo solo invece di visitare ed eliminare ogni singola riga. Questa funzione è nota come ottimizzazione del troncamento.
SQLite DELETE
esempi di affermazioni
Useremo il artists_backup
tabella creata nell'esercitazione su come inserire righe nella tabella.
Se non hai seguito quel tutorial, puoi creare il artists_backup
tabella e inserire i dati in essa utilizzando il seguente 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)
La seguente istruzione restituisce tutte le righe da artists_backup
tabella:
SELECT
artistid,
name
FROM
artists_backup;
Code language: SQL (Structured Query Language) (sql)
Provalo
Abbiamo 280 righe nel artists_backup
tabella.
Per rimuovere un artista con ID 1, utilizza la seguente istruzione:
DELETE FROM artists_backup
WHERE artistid = 1;
Code language: SQL (Structured Query Language) (sql)
Provalo
Perché usiamo artistid
per identificare l'artista, la dichiarazione ha rimosso esattamente 1 riga.
Supponiamo di voler eliminare artisti i cui nomi contengono la parola Santana
:
DELETE FROM artists_backup
WHERE name LIKE '%Santana%';
Code language: SQL (Structured Query Language) (sql)
Provalo
Ci sono 9 righe i cui valori sono in name
la colonna contiene la parola Santana
pertanto, queste 9 righe sono state eliminate.
Per rimuovere tutte le righe nel artists_backup
tabella, devi solo omettere il WHERE
clausola come la seguente affermazione:
DELETE FROM artists_backup;
Code language: SQL (Structured Query Language) (sql)
Provalo
In questo tutorial, hai imparato a usare SQLite DELETE
istruzione per rimuovere le righe in una tabella.