Eliminare record da una tabella già esistente.
Tutti
Eliminare tutti i record
1 2 |
DELETE FROM nome_tabella |
WHERE
Stabilire una restrizione sull’elimininazione
1 2 |
DELETE FROM nome_tabella WHERE condizione |
LIMIT
Limitare a un certo numero le eliminazioni.
Utile per non tenere occupato il DB: sarà necessario ripetere il comando finché il numero di righe eliminate non sarà minore del numero specificato.
1 2 3 |
DELETE FROM nome_tabella ... LIMIT numero |
ORDER BY
Seguire un certo ordine durante l’eliminazione di più record.
Utile se esistono dei vincoli di integrità tra i record: sarà necessario ripetere il comando finché il numero di righe eliminate non sarà minore del numero specificato.
1 2 3 4 |
DELETE FROM nome_tabella ... ORDER BY criterio LIMIT numero |
Tanti
Se i record da eliminare sono la maggioranza si può rendere l’operazione più veloce: si copiano i pochi record da mantenere in una nuova tabella e poi…
1 2 3 4 5 6 7 8 |
INSERT INTO nuova_tabella SELECT * FROM tabella WHERE record_da_mantenere; RENAME TABLE tabella TO vecchia_tabella; RENAME TABLE nuova_tabella TO tabella; DROP TABLE vecchia_tabella; |