PDA

Visualizza la versione completa : [MySQL] Cancellare tabelle


snarkdo
17-08-2005, 10:45
Ciao a tutti,
avevo provato tempo fa a fare delle prove con tanti programmini che utilizzavano mysql e adesso mi trovo con il database pieno zeppo di tabelle che non servono assolutamente a niente ma occupano solo spazio.
Allora mi chiedevo se esisteva un modo per cancellare tutte le tabelle per esempio con il prefisso "nuke_" senza stare li a cancellarle tutte una a una manualmente...

Grazie mille,
Paolo

Barby83
17-08-2005, 10:52
Uhm...
Non so se funziona nuke_% per le tabelle :)
Se no, fare uno script che scorre tutte le tabelle e controlla se contengono nuke_ e se si le elimina?

piero.mac
17-08-2005, 10:52
Non credo si possano usare caratteri jolly nel nome_tabella da cancellare.

Puoi fare pero' cancellazioni multiple.

DROP TABLE tab1, tab2, tab3

:ciauz:

snarkdo
17-08-2005, 10:59
mmm credo di non aver capito bene cosa intendi... che comando devo dare?
fai conto che sono abbastanza ignorante in questo campo... :dhò:

Barby83
17-08-2005, 11:09
Per le cancellazioni multiple semplicemente
DROP TABLE nometabella1, nometabella2,...
insomma, i nomi di tutte le tabelle separati da una virgola.

snarkdo
17-08-2005, 11:32
Cacchio ma se ne devo cancellare più di 400 ci metto una vita...
Mi avevano consigliato uno script php che faccia tutto in auto ma non sono in grado di scriverlo :cry:

Barby83
17-08-2005, 11:32
Allora fai lo script! :)
Aspe che ci provo a scriverlo...

snarkdo
17-08-2005, 11:49
Grazie mille!

Barby83
17-08-2005, 12:16
Ecco fatto. A me funziona, l'ho provato. Ovviamente sostituisci i tuoi dati nella connessione e il nome del db.



<?php
mysql_connect("host", "user", "pass");
$tabelle = mysql_list_tables("nomedb");
$righe = mysql_num_rows($tabelle);
for ($i = 0; $i < $righe; $i++) {
$tabella=mysql_tablename($tabelle, $i);
if (substr($tabella,0,5)=='nuke_')
{
$ris = mysql_query("DROP TABLE $nometabella");
echo 'Tabella: '.$tabella.' cancellata
';
}
}

mysql_free_result($result);
?>

snarkdo
17-08-2005, 12:29
Ciao, lo ho provato e anche a me fa tutto l'elenco delle tabelle con prefisso nuke_ e mi dice cancellate ma se vado su myadmin me lo trovo ancora... Forse cè bisogno di tempo?

Loading