Elimina una tabella in SQL

Elimina Una Tabella In Sql



In SQL, l'istruzione DELETE è un'istruzione Data Manipulation Language che ci consente di eliminare una o più righe da una tabella di database esistente. L'istruzione accetta una condizione, trova le righe che corrispondono ai criteri specificati e le rimuove dalla tabella.

In questo tutorial, esamineremo l'istruzione DELETE in SQL per scoprire come utilizzarla per eliminare una riga esistente da una tabella.

Dichiarazione ELIMINA

Di seguito viene mostrata la sintassi dell'istruzione DELETE in SQL:







ELIMINARE

DA

nome_tabella

DOVE

condizione;

Iniziamo con la clausola DELETE per indicare al motore del database che desideriamo rimuovere una o più righe.



Specifichiamo quindi il nome della tabella da cui desideriamo rimuovere le righe. Successivamente, specifichiamo la condizione nella clausola WHERE. Questa è una clausola importante in quanto ci consente di restringere il campo delle righe specifiche che desideriamo rimuovere.



Se omettiamo la clausola WHERE, l'istruzione rimuoverà tutte le righe dalla tabella specificata. Usare con cautela.





L'istruzione restituisce quindi il numero di righe eliminate dalla tabella.

Tabella campione

Prima di addentrarci negli esempi su come utilizzare l'istruzione DELETE, creiamo una tabella di base a scopo dimostrativo.



L'istruzione CREATE TABLE è la seguente:

prodotti CREA TAVOLA (
product_id INT CHIAVE PRIMARIA AUTO_INCREMENT,
nome_prodotto VARCHAR( 255 ),
categoria VARCHAR( 255 ),
prezzo DECIMALE( 10 , 2 ),
quantità INT,
data_scadenza DATA,
codice a barre BIGINT
);

Una volta creata la tabella, possiamo inserire i dati di esempio nella tabella come mostrato nelle seguenti istruzioni di inserimento:

inserire
in
prodotti (nome_prodotto,
categoria,
prezzo,
quantità,
data di scadenza,
codice a barre)
valori ( 'Cappello da Cuoco 25cm' ,
'forno' ,
24.67 ,
57 ,
'2023-09-09' ,
2854509564204 );

inserire
in
prodotti (nome_prodotto,
categoria,
prezzo,
quantità,
data di scadenza,
codice a barre)
valori ( 'Uova di quaglia - in scatola' ,
'dispensa' ,
17.99 ,
67 ,
'29-09-2023' ,
1708039594250 );

inserire
in
prodotti (nome_prodotto,
categoria,
prezzo,
quantità,
data di scadenza,
codice a barre)
valori ( 'Caffè - Cappuccino allo Zabaione' ,
'forno' ,
92,53 ,
10 ,
'2023-09-22' ,
8704051853058 );

inserire
in
prodotti (nome_prodotto,
categoria,
prezzo,
quantità,
data di scadenza,
codice a barre)
valori ( 'Pera - Spinoso' ,
'forno' ,
65.29 ,
48 ,
'23-08-2023' ,
5174927442238 );

inserire
in
prodotti (nome_prodotto,
categoria,
prezzo,
quantità,
data di scadenza,
codice a barre)
valori ( 'Pasta - Capelli d'angelo' ,
'dispensa' ,
48.38 ,
59 ,
'2023-08-05' ,
8008123704782 );

Questo dovrebbe fornirci una tabella come segue:

Esempio 1: Elimina una singola riga

L'operazione di eliminazione più semplice consiste nel rimuovere una singola riga dalla tabella. Per questo, puoi utilizzare la colonna con il valore univoco che identifica la riga di destinazione.

Ad esempio, se vogliamo rimuovere la riga “Maiale – Spalla” che ha un ID pari a 9, possiamo utilizzare la clausola come segue:

ELIMINARE
DA
prodotti
DOVE
id_prodotto = 9 ;

Questo dovrebbe semplicemente rimuovere la riga con il numero ID 9. Poiché la colonna 'product_id' è una chiave primaria, dovrebbe esserci solo una riga con quel valore.

Esempio 2: Elimina più righe

Per eliminare più righe, possiamo impostare la condizione per le righe di destinazione utilizzando la clausola WHERE. Possiamo usare gli operatori condizionali come IN, NOT IN, LIKE, ecc.

Supponiamo ad esempio di voler eliminare tutte le righe della dispensa e produrre delle categorie. Possiamo utilizzare la query nel modo seguente:

ELIMINARE
DA
prodotti
DOVE
categoria IN ( 'produrre' , 'forno' );

Dovrebbe corrispondere ai valori 'prodotti' e 'panetteria' nella colonna 'categoria' e rimuovere tutte le righe che corrispondono a tale condizione.

Conclusione

In questo tutorial abbiamo imparato tutto sull'istruzione DELETE che ci consente di rimuovere una o più righe da una determinata tabella del database.