Riepilogo: in questo tutorial, imparerai come utilizzare l’istruzione SQL Server DELETE
per rimuovere una o più righe da una tabella.
Introduzione all’istruzione SQL Server DELETE
Per rimuovere completamente una o più righe da una tabella, si utilizza l’istruzioneDELETE
. Quanto segue illustra la sua sintassi:
Code language: SQL (Structured Query Language) (sql)
In primo luogo, si specifica il nome della tabella da cui le righe devono essere eliminate nella clausola FROM
.,
Ad esempio, la seguente istruzione cancellerà tutte le righe dal target_table
:
Code language: SQL (Structured Query Language) (sql)
In secondo luogo, per specificare il numero o la percentuale di righe casuali che verranno eliminate, si utilizza la clausola TOP
.
Per esempio, il seguente DELETE
dichiarazione rimuove 10 righe casuali dalla target_table
:
Code language: SQL (Structured Query Language) (sql)
Perché la tabella che memorizza le righe in ordine non specificato, non sappiamo in quali righe verranno eliminati, ma sappiamo per certo che il numero di righe verrà eliminato in 10.,
Allo stesso modo, è possibile eliminare il 10% delle righe casuali utilizzando la seguente istruzioneDELETE
:
Code language: SQL (Structured Query Language) (sql)
In terzo luogo, in pratica, raramente si rimuovono tutte le righe da una tabella ma solo una o più righe. In questo caso, è necessario specificare la clausola search_condition
nella clausola WHERE
per limitare il numero di righe che vengono eliminate.
Le righe che causano il search_condition
vengono valutate a true verranno eliminate.
La clausola WHERE
è facoltativa., Se lo salti, l’istruzioneDELETE
rimuoverà tutte le righe dalla tabella.
SQL Server DELETE statement examples
Creiamo una nuova tabella per la dimostrazione.
L’istruzione seguente crea una tabella denominata production.product_history
con i dati copiati dalla production.products
tabella:
Code language: SQL (Structured Query Language) (sql)
La query seguente restituisce tutte le righe della product_history
tabella:
Code language: SQL (Structured Query Language) (sql)
Come si può vedere chiaramente in uscita, abbiamo 321 righe in totale.,
1) Cancellare il numero di righe casuali esempio
Il seguente DELETE
dichiarazione rimuove 21 righe casuali dalla product_history
tabella:
Code language: SQL (Structured Query Language) (sql)
Ecco il messaggio rilasciato da SQL Server:
Code language: SQL (Structured Query Language) (sql)
questo significa che il 21 righe sono state eliminate.,
2) Eliminare la percentuale di righe casuali esempio
Il seguente DELETE
dichiarazione rimuove il 5 per cento di righe casuali dalla product_history
tabella:
Code language: SQL (Structured Query Language) (sql)
SQL Server emesso il seguente messaggio che indica che il 15 righe (300 x 5% = 15) sono stati eliminati.,h3>3) Eliminare alcune righe con una condizione di esempio
Il seguente DELETE
dichiarazione rimuove tutti i prodotti il cui modello anno 2017:
Code language: SQL (Structured Query Language) (sql)
Ecco il messaggio di output:
Code language: SQL (Structured Query Language) (sql)
4) Eliminare tutte le righe da una tabella di esempio
Il seguente DELETE
dichiarazione rimuove tutte le righe dalla product_history
tabella:
Code language: SQL (Structured Query Language) (sql)
si noti che se si desidera rimuovere tutte le righe da una tabella di grandi dimensioni, si dovrebbe usare il TRUNCATE TABLE
dichiarazione che è più veloce e più efficiente.,
In questo tutorial, hai imparato come utilizzare l’istruzione SQL Server DELETE
per rimuovere una o più righe da una tabella.