Che cosa fa l'istruzione SQL - Delete?

09/03/2020

Quando si lavora con i database, è spesso necessario eliminare una o più righe di dati. Per implementare questa azione c'è un operatore speciale in SQL - Elimina.

Elimina sintassi

Una delle operazioni utilizzate di frequente quando si lavora con i database è l'operatore per eliminare un certo numero di righe. . Per rimuovere i record aggiuntivi dalla tabella, è sufficiente utilizzare la funzione speciale SQL - D elete .

sql delete

La sintassi di questa affermazione è la stessa di inserire e modificare i record. La parola chiave DELETE è seguita da un costrutto che indica la tabella in cui verrà eseguita la cancellazione - FROM e il nome della tabella. Successivamente viene la parte opzionale della struttura sintassi dell'operatore, che può contenere indicazioni che definiscono in modo univoco una o più righe.

ELIMINA DA <nome tabella> [WHERE <predicato>].

Una possibile frase inizia con la parola chiave "WHERE", seguita da una serie di predicati. È possibile indicare sia il valore esplicito di un campo specifico, designandolo come singolo o enumerazione, o un certo intervallo o condizione. Nel predicato, è inoltre possibile utilizzare condizioni nidificate, ad esempio, per eliminare solo quei record contenuti o mancanti in un'altra tabella.

Esempio di eliminazione di più o tutte le voci

Per eliminare una voce, è necessario utilizzare la parte facoltativa della struttura della funzione Elimina. MS SQL supporta solo una specifica di dati utilizzando la parola chiave WHERE. Pertanto, i parametri di ricerca della stringa di ricerca dovrebbero essere specificati solo dopo di esso.

Se è necessario cancellare la tabella, non è necessario utilizzare la parte aggiuntiva della struttura, è sufficiente specificare semplicemente il nome della tabella nella sintassi Elimina SQL di cui sopra. Un esempio di eliminazione di tutte le voci è il seguente:

ELIMINA DA "table_1".

Questa query pulirà la tabella con il nome "table_1". Vale la pena notare che in questo caso la cancellazione della tabella stessa non avverrà - per questo è necessario utilizzare altri mezzi del linguaggio SQL.

sql delete esempio

Se è necessario eliminare solo i record che soddisfano un requisito specifico, è necessario aggiungere un'istruzione di condizione. Ad esempio, nel seguente esempio, la funzione Elimina SQL cancellerà tutte le righe nella tabella Personale che hanno il valore Ivan nel campo Nome:

CANCELLARE DA "Personale" DOVE "Nome" = "Ivan".

Se necessario, è possibile specificare più condizioni in una singola query, combinandole con le logiche "AND" e "OR". Nell'esempio seguente, tutti i record in cui verrà cancellato il nome del dipendente "Ivan" o "Oleg":

CANCELLARE DA "Personale" DOVE "Nome" = "Ivan" O "Nome" = "Oleg".

Esempio di cancellazione di un record

Tuttavia, quando si elimina, non è sempre necessario eliminare tutte le righe che soddisfano la condizione. Per ottenere la cancellazione dei dati solo di un certo numero di righe, è necessario aggiungere la parola chiave LIMIT alla struttura della funzione Elimina SQL e quindi specificare il valore esplicito delle righe che si desidera eliminare.

elimina ms slq

Nell'esempio seguente, solo due record di dipendenti denominati Ivan verranno eliminati dalla tabella Personale:

CANCELLARE DA "Personale" DOVE "Nome" = "Ivan" LIMIT 2.

Va notato che quando si esegue l'operazione di eliminazione delle righe, è necessario prestare attenzione alla correttezza delle query di scrittura. In caso di errore nella sintassi o nella condizione, potrebbe verificarsi una cancellazione eccessiva delle righe, che sarà quasi impossibile tornare alla tabella.