Guida Completa all'Uso della Query SQL DELETE per Rimuovere Record da Tabelle in SQL Server (2024)

Introduzione

La query SQL DELETE è uno strumento potente per eliminare uno o più record da una tabella in SQL Server. In questo articolo, esploreremo dettagliatamente come utilizzare questa query, fornendo esempi pratici e confrontando la sua funzionalità con l'istruzione TRUNCATE.

Cos'è il Comando SQL DELETE?

Il comando DELETE è una query che consente di eliminare record da una tabella in SQL Server. Questa istruzione offre la possibilità di cancellare dati specifici o tutti i dati in base a condizioni specificate nella clausola WHERE. È fondamentale operare con attenzione poiché DELETE rimuove i dati in modo permanente.

Sintassi di Base della Query DELETE

La sintassi tipica della query DELETE in SQL Server è la seguente:

DELETE FROM <nome_tabella> WHERE <condizione>;

Parametri:

  • <nome_tabella>: il nome della tabella da cui eliminare i record.
  • <condizione>: una condizione per filtrare e selezionare i record da eliminare.

Se si desidera visualizzare i record eliminati, è possibile utilizzare RETURNING *. La query assumerà la seguente forma:

DELETE FROM <nome_tabella> WHERE <condizione> RETURNING *;

Esempio di Utilizzo della Query DELETE

Supponiamo di avere una tabella di compleanni e vogliamo eliminare un record specifico:

DELETE FROM compleanni WHERE id = 1;

Dopo l'esecuzione di questa query, il record con id uguale a 1 verrà rimosso dalla tabella.

Eliminazione di Record Singoli e Multipli

È possibile eliminare un singolo record specificando una condizione nella clausola WHERE:

DELETE FROM compleanni WHERE id = 4;

Per eliminare più record contemporaneamente, è possibile utilizzare l'operatore IN:

DELETE FROM compleanni WHERE id IN (1, 3, 5);

È anche possibile utilizzare BETWEEN e AND per eliminare record in un determinato intervallo:

DELETE FROM compleanni WHERE id BETWEEN 2 AND 5;

Eliminazione di Tutti i Record da una Tabella

Per eliminare tutti i dati da una tabella, eseguire la query senza specificare una clausola WHERE:

DELETE FROM compleanni;

Eliminazione di Record Correlati da Tabelle Diverse

L'utilizzo degli operatori JOIN consente di eliminare record correlati da tabelle diverse. Ecco un esempio con INNER JOIN:

DELETE b, v FROM compleanni b INNER JOIN ferie v ON b.id = v.id_compleanno WHERE b.data = '1976-09-28';

Questa query eliminerà tutti i record corrispondenti alla condizione b.data = '1976-09-28' dalle tabelle Compleanni e Ferie.

Differenze tra SQL Server TRUNCATE e DELETE

Sebbene DELETE e TRUNCATE siano entrambi utilizzati per eliminare dati da una tabella, ci sono differenze significative. Ecco una tabella riassuntiva:

DELETE TRUNCATE
DML (Data Manipulation Language) DDL (Data Definition Language)
Rimuove dati specifici o tutti con la clausola WHERE Rimuove tutti i dati dalla tabella
Elimina i record uno alla volta Elimina tutti i dati in una sola volta
Richiede autorizzazioni DELETE sulla tabella Richiede autorizzazioni ALTER sulla tabella
Blocca ogni riga nella tabella durante l'eliminazione Blocca l'intera tabella per l'eliminazione
Registra ogni record eliminato nel log delle transazioni, più lento Ha un log minimo, quindi è più veloce
Restituisce tutti i record eliminati dalla tabella Non restituisce tutti i record eliminati

La sintassi tipica per TRUNCATE in SQL è la seguente:

TRUNCATE TABLE <nome_tabella>;

Utilizzo della Query DELETE in dbForge Studio for SQL Server

Per eseguire facilmente la query DELETE in dbForge Studio for SQL Server, è possibile utilizzare diverse opzioni:

Metodo 1 - Utilizzo della funzionalità di completamento codice:

  1. Nel SQL Editor, inizia a digitare DELETE. Comparirà un menu a discesa.
  2. Fai doppio clic su DELETE.
  3. Compila la query e clicca su Esegui nella barra degli strumenti standard.

Metodo 2 - Utilizzo della funzionalità di frammenti di codice:

  1. Nel SQL Editor, inizia a digitare DELETE. Comparirà un menu a discesa.
  2. Fai doppio clic su DeleteFrom.
  3. Modifica la query secondo le tue esigenze e clicca su Esegui nella barra degli strumenti standard.

Metodo 3 - Utilizzo dell'opzione Genera script come:

  1. In Database Explorer, fai clic destro sulla tabella necessaria e vai a Genera script come > DELETE > Verso una nuova finestra SQL.
  2. Nella finestra SQL aperta, adatta la query e clicca su Esegui nella barra degli strumenti standard.

Conclusione

In questo articolo, abbiamo esplorato i casi d'uso più comuni della query DELETE. Come dimostrato, dbForge Studio for SQL Server consente di scrivere query SQL in modo rapido, facile ed efficace. Per provare lo strumento, scarica la versione di prova di 30 giorni e scopri tutte le sue funzionalità avanzate.

Guida Completa all'Uso della Query SQL DELETE per Rimuovere Record da Tabelle in SQL Server (2024)
Top Articles
Latest Posts
Article information

Author: Geoffrey Lueilwitz

Last Updated:

Views: 5824

Rating: 5 / 5 (60 voted)

Reviews: 83% of readers found this page helpful

Author information

Name: Geoffrey Lueilwitz

Birthday: 1997-03-23

Address: 74183 Thomas Course, Port Micheal, OK 55446-1529

Phone: +13408645881558

Job: Global Representative

Hobby: Sailing, Vehicle restoration, Rowing, Ghost hunting, Scrapbooking, Rugby, Board sports

Introduction: My name is Geoffrey Lueilwitz, I am a zealous, encouraging, sparkling, enchanting, graceful, faithful, nice person who loves writing and wants to share my knowledge and understanding with you.