Cancellare un record con Mysql: la query DELETE Stampa


mysqlUna delle operazione di più comune utilizzo in un database è l’eliminazione di un record (riga), che in mysql viene eseguita per mezzo della query DELETE.
La sintassi da utilizzare è la seguente:

DELETE FROM nome_tabella WHERE  nome_campo='valore'  LIMIT valore

Vediamo il significato della query:
DELETE FROM nome_tabella
come si poteva immaginare questa parte identifica la tabella (nome_tabella) da cui verranno cancellati i record;
WHERE nome_campo=’valore’ questa è la condizione che deve essere verificata per eseguire la cancellazione del record, ad esempio anno_nascita > 1998;
LIMIT valore indica il numero di record che devono essere cancellati, se mancante nessun limite;

Vediamo ora un esempio: cancelliamo dalla tabella utenti tutti i record in cui il campo utente_bannato ha valore ‘1′.

DELETE FROM utenti WHERE utente_bannato='1'

Se vogliamo limitare l’effetto della query a 100 record:

DELETE FROM utenti WHERE utente_bannato='1' LIMIT 100

Link utili:



3 comments:

  1. Simone, 11. Luglio 2010, 23:22

    Ciao. Dovrei eliminare dal mio forum circa 500 utenti le cui email ormai non sono più attive. E’ possibile utilizzare questa query? Non sono esperto ho provato in questo modo ma non va:

    DELETE FROM forum_membersWHERE E_MAIL=’email@email.it,email2@email.it,email3@email.it‘ LIMIT 100

    Qualche suggerimento?
    Grazie

     
  2. TecnoPillole.com, 12. Luglio 2010, 9:10

    I valori nella clausola WHERE devono essere separati con l’operatore OR oppure AND in questo modo:

    DELETE FROM forum_members WHERE e_mail='email@email.it' OR e_mail'=email2@email.it' OR e_mail='email3@email.it'

    Nel tuo caso devi usare OR.

    Fammi sapere!

    Gabriele

     
  3. Simone, 16. Luglio 2010, 19:13

    Grazie mille..funziona!

    Simone

     

Scrivi un commento: