Je cherche une requête (ou une série de) pour TRUNCER toutes les tables de mon schéma (qui a quelques centaines de tables) SAUF pour les 4 spécifiques. Comment pourrais-je faire cela? Merci!Existe-t-il un moyen de TRUNCATE la plupart des tables dans un schéma MySQL?
1
A
Répondre
1
Je crois que vous devrez écrire un script dans la langue que vous préférez. Vous pouvez obtenir une liste des tables du schéma à partir de la base de données information_schema, puis les parcourir, en tronquant toutes celles qui vous intéressent.
la requête serait quelque chose comme:
SELECT table_name FROM information_schema.tables WHERE table_schema = 'test' AND table_name NOT IN ('table1', 'table2');
Modifier: Voici un exemple en utilisant Perl:
use strict;
use warnings;
use DBI;
my $dbh = DBI->connect("some_dsn");
my $sth = $dbh->prepare(q{SELECT table_name FROM information_schema.tables WHERE table_schema = 'test' AND table_name NOT IN ('table1', 'table2')});
$sth->execute();
$sth->bind_columns(\my $table_name);
while($sth->fetch) { $dbh->do(q{TRUNCATE TABLE } . $table_name) }
0
Une autre méthode pourrait être que vous copiez ces quatre tables dans un nouveau schéma, puis supprime le schéma de base de données d'origine.
0
* nix one-liner:
for i in `mysql -e "show tables MY_DB" | grep -vE "(table1|table2)"`; do mysql -e"TRUNCATE ${i}" MY_DB; done
Questions connexes
- 1. champs identiques dans la plupart des tables
- 2. Truncate mediawiki
- 3. Trouver la plupart des enregistrements.
- 4. Truncate Slow Query Ouvrir une session MySQL
- 5. SQL 2005 - requête pour trouver des tables avec la plupart des rangées
- 6. NDbUnit avec des tables qui ont un schéma de la table
- 7. Syntaxe MySQL à la syncronisation de schéma via des triggers?
- 8. Joindre des tables - MySQL & PHP
- 9. Synchroniser le schéma de deux bases de données dans MySQL
- 10. Sélectionnez La plupart des États récents de l'histoire Tableau
- 11. MySQL: comment obtenir la liste des tables en utilisant ODBC
- 12. Le moyen le plus rapide de joindre des données MySQL 4.0 à partir de plusieurs tables?
- 13. Recherche de plusieurs tables avec MySQL
- 14. Comment générer un schéma de schéma de base de données dans Visual Studio (express)?
- 15. Un moyen d'optimiser cette requête mysql?
- 16. 'System.Web.Security.SqlMembershipProvider' nécessite un schéma de base de données compatible avec la version de schéma '1'
- 17. Peut-on utiliser des jokers sur les noms de tables pour un GRANT dans MySQL?
- 18. Taille du schéma MySQL
- 19. Existe-t-il un moyen simple de remplir la liste déroulante dans ce schéma de base de données Access?
- 20. Interrogation deux tables ... dans MySQL
- 21. Existe-t-il un moyen d'arrêter MYSQL Delayed Inserts de la configuration MySQL?
- 22. Exécuter des scripts Mysql dans un lot?
- 23. La plupart des parseurs HTML de type jQuery pour Ruby
- 24. tables sont vides dans MySQL
- 25. OCR - la plupart des caractères ASCII "différents" ou "reconnaissables"?
- 26. Correspondance des tables MySQL en utilisant Perl
- 27. Énumérer les tables utilisées dans la requête mysql?
- 28. Truncate before SqlBulkCopy
- 29. PHP MySQL Joining Tables
- 30. SQLEXPRESS: Adéquation des sites Web de production pour la plupart des données lues
intéressant. Mais comment je les répète exactement? – Monster