sql >> Database >  >> RDS >> Mysql

Hoe alle rijen van alle tabellen in mysql leeg te maken (in sql)

TRUNCATE tableName;

Hierdoor wordt de inhoud van de tabel leeggemaakt.

Bewerken als reactie op de Q-edit:Uit mijn snelle test blijkt dat je minstens 2 queries moet doen, omdat het lijkt alsof "tabellen weergeven" niet als subquery kan worden gebruikt, ik weet niet hoe ik dit moet doen in bash dus hier is een PHP-voorbeeld, hopelijk helpt het.

<?php      
mysql_connect('localhost', 'user', 'password');
$dbName = "database";
mysql_select_db($dbName); /*added semi-colon*/
$result_t = mysql_query("SHOW TABLES");
while($row = mysql_fetch_assoc($result_t))
{
   mysql_query("TRUNCATE " . $row['Tables_in_' . $dbName]);
}
?>

Dit vereist op zijn minst enige foutafhandeling.



  1. SQLite-queryresultaten opmaken als een door komma's gescheiden lijst

  2. Converteer tekstwaarde in SQL Server van UTF8 naar ISO 8859-1

  3. MySQL-replicatie voor hoge beschikbaarheid

  4. Twee gegenereerde waarden in de leer