Questo tutorial fa parte della serie Learn Basic SQL Query Using MySQL. In questo tutorial parleremo delle query SQL per eliminare le righe oi dati di una tabella in MySQL.
Elimina richiesta
Il comando ELIMINA può essere utilizzato per eliminare o rimuovere righe di una tabella. Il comando DELETE è irreversibile, quindi dobbiamo usarlo con attenzione. Nel caso in cui tu abbia effettuato l'accesso remoto al database, avrai anche bisogno del privilegio DELETE per la tabella per eliminare le righe da una tabella.
# DELETE - Syntax
DELETE FROM `table_name` WHERE <single or multiple filter conditions>;
Spiegazione della query
Il comando MySQL CANCELLA può essere utilizzato per eliminare righe o dati del nome della tabella specificato in cui il nome della tabella è obbligatorio e la clausola WHERE è facoltativa.
Dobbiamo specificare almeno una condizione utilizzando la clausola WHERE affinché le righe si qualifichino per l'eliminazione, altrimenti l'intera tabella verrà cancellata. Tutte le righe della tabella
Esempi
Questa sezione fornisce esempi per eliminare le righe della tabella utilizzando il comando DELETE. Utilizzare la query di seguito menzionata per creare la tabella utente con l'ID, il nome, il cognome e le colonne attive per memorizzare i dati dell'utente.
# Create the User Table
CREATE TABLE `enterprise`.`user` (
`user_id` BIGINT NOT NULL,
`first_name` VARCHAR(45) ,
`last_name` VARCHAR(45),
`active` TINYINT(1) NOT NULL DEFAULT 0,
PRIMARY KEY (`user_id`));
La query sotto indicata può essere utilizzata per inserire dati nella tabella utente.
# Insert Rows - All Columns
INSERT INTO `user` ( `user_id`, `first_name`, `last_name`, `active` ) VALUES
( 1, 'John', 'Smith', 1 ),
( 2, 'Rick', 'Jones', 1 ),
( 3, 'Catherine', 'Ponting', 0 ),
( 4, 'Harsh', 'Upadhyay', 1 ),
( 5, 'Tajwinder', 'Singh', 0 );
La suddetta query inserirà 5 righe nella tabella con id, nome, cognome e colonne attive per rappresentare 5 utenti diversi.
Ora cancelleremo i dati da noi inseriti nella tabella utente. Può essere fatto usando il comando DELETE come mostrato di seguito.
# DELETE - Delete all the inactive users
DELETE FROM `user` WHERE `active` = 0;
# Result
1 John Smith 1
2 Rick Jones 1
4 Harsh Upadhyay 1
# DELETE - Remove selective users
DELETE FROM `user` WHERE `user_id` = 1;
DELETE FROM `user` WHERE `user_id` IN( 2, 4 );
# Result - All rows deleted
Le query sopra menzionate eliminano le righe dalla tabella utente utilizzando la clausola WHERE. Le righe della tabella verranno eliminate nel caso in cui la riga soddisfi le condizioni specificate.
Ora esegui di nuovo la query INSERT per inserire i dati del test. Possiamo anche eliminare le righe utilizzando più condizioni come mostrato di seguito.
# DELETE - Delete inactive users using first name
DELETE FROM `user` WHERE `first_name` = 'Catherine' AND `active` = 0;
# Result
1 John Smith 1
2 Rick Jones 1
4 Harsh Upadhyay 1
5 Tajwinder Singh 0
In questo modo possiamo eliminare i dati archiviati nelle tabelle MySQL.