Est-il possible de vider une base de données entière en se connectant avec PHP et en donnant une commande?Base de données vide en MySQL et PHP?
Répondre
Vous pouvez obtenir les noms de table avec
SELECT table_name FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'your db'
Et faire la troncature,
même, vous pouvez faire
SELECT 'TRUNCATE TABLE ' + table_name + ';' FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'your db'
Et itérer alors ResultSet exécuter la requête de chaîne pour chaque enregistrement .
Oui. Fondamentalement, vous devez obtenir une liste de toutes les tables dans la base de données, puis parcourir cette liste et émettre un TRUNCATE TABLE $tablename
pour chaque entrée.
Cela ressemble à une assez bonne mise en œuvre: Truncate all tables in a MySQL database
La façon la plus simple de le faire, si vous avez des privilèges, est:
DROP DATABASE dbName; CREATE DATABASE dbName; USE DATABASE dbName;
L'alternative consiste à interroger la base de données information_schema
pour les déclencheurs, routines stockées (procédures et fonctions), tables, vues et éventuellement quelque chose d'autre, et déposez-les individuellement. Même après cela, votre base de données peut ne pas être toujours dans le même état qu'une nouvelle, car elle peut avoir un jeu de caractères et un ensemble de collation par défaut personnalisés. Utilisez ALTER DATABASE
pour changer cela.
Comme les fonctionnalités continuent d'être ajoutées (événements ...) vous aurez de plus en plus de travail de cette façon. Donc, vraiment, la seule façon de vider complètement la base de données est de la laisser tomber et de la recréer.
Vous pouvez obtenir une liste de toutes les tables d'une base de données ($databaseName
), les parcourir toutes et appliquer TRUNCATE TABLE
à chacune d'elles.
$result = mysqli_query($link, "SHOW TABLES IN `$databaseName`");
while ($table = mysqli_fetch_array($result)) {
$tableName = $table[0];
mysqli_query($link, "TRUNCATE TABLE `$databaseName`.`$tableName`");
if (mysqli_errno($link)) echo mysqli_errno($link) . ' ' . mysqli_error($link);
else echo "$tableName was cleared<br>";
}
Ceci efface le contenu de toutes les tables d'une base de données, en conservant la structure.
S'il vous plaît [modifier] avec plus d'informations. Les réponses au code uniquement et «Essayez ceci» sont [découragées] (// meta.stackexchange.com/questions/196187), car elles ne contiennent aucun contenu interrogeable, et n'expliquent pas pourquoi quelqu'un devrait «essayer ceci». Nous faisons un effort ici pour être une ressource pour la connaissance. – Mogsdad
Cela a fonctionné pour moi.
mysql -u < DB-USER > -p<DB-PASS> --silent --skip-column-names -e "SHOW TABLES" <DB-NAME> | xargs -L1 -I% echo 'DROP TABLE `%`;' | mysql -u < DB-USER > -p< DB-PASS > -v < DB-NAME >
- 1. Pourquoi ma date MySQL est-elle vide en PHP?
- 2. php stocker dans la base de données tamil php mysql
- 3. Plusieurs tables de données en PHP/MySQL?
- 4. L'application Rails est déployée et fonctionne, mais la base de données MySQL est vide
- 5. Comment connecter/extraire des données d'une base de données MYSQL en utilisant des objets en PHP?
- 6. db4o et OSGi - base de données vide après redémarrage
- 7. Base de données entièrement vide SQL
- 8. enregistrer à la base de données mysql en utilisant php et mysqli
- 9. Insertion par lots de données dans la base de données MySQL en utilisant php
- 10. Connexion à base de données MySQL avec PHP
- 11. Sécurité PHP et MySQL
- 12. Modèle de base de données et solde calculé, mysql
- 13. convertir des données en base de données mysql
- 14. Mysql/php - Comment créer un objet ligne 'vide' pour la mise en cache
- 15. Mail vers la base de données MySQL
- 16. Système de notation en PHP et MySQL
- 17. Performance avec php et mysql
- 18. PHP Inheritance et MySQL
- 19. Récupération de la base de données MySql à partir de l'application Cocoa - Mise en pont PHP
- 20. MySQL et PHP problèmes unicode
- 21. Comment vérifier si l'entrée mysql est vide dans PhP?
- 22. php/mysql: base de données des jours fériés et des événements comme Noël, Pâques etc
- 23. Comment puis-je stocker une date dans une base de données MySQL en utilisant PHP?
- 24. Comment puis-je sélectionner la base de données mysql en php?
- 25. remplacer le champ de saisie des données de mysql php
- 26. Impossible d'obtenir la base de données pour mettre à jour la dernière heure de connexion en utilisant PHP et MySQL?
- 27. Comment convertir une base de données MySQL en XML?
- 28. Php - Comment exclure des données de mysql
- 29. Comment supprimer une base de données MySQL?
- 30. dates comparant en PHP et MYSQL
vous perdrez la structure –
de la table Eh bien, le démarreur sujet n'a pas dit quoi que ce soit, sauf qu'il veut une base de données vide avec le même nom, donc parfaitement répondu à la question. Cela n'a pas de sens de faire des suppositions erronées, c'est pourquoi cette réponse a obtenu +1 de ma part. – Flavius
Si l'utilisateur n'a pas le privilège 'CREATE DATABASE', il sera bloqué. –