Ist es möglich, eine ganze Datenbank zu leeren, indem man sich mit PHP verbindet und einen Befehl gibt?Leere Datenbank in MySQL und PHP?
Antwort
Sie können Tabellennamen mit
SELECT table_name FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'your db'
bekommen und die Abschneide machen,
selbst, können Sie
SELECT 'TRUNCATE TABLE ' + table_name + ';' FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'your db'
Und dann iterieren die resultset Ausführung der String-Abfrage für jeden Datensatz machen .
Ja. Im Grunde müssen Sie eine Liste aller Tabellen in der Datenbank abrufen, dann über diese Liste iterieren und einen TRUNCATE TABLE $tablename
für jeden Eintrag ausgeben.
Das sieht wie ein anständig genug Umsetzung: Truncate all tables in a MySQL database
Der einfachste Weg, es zu tun, wenn Sie die Berechtigungen haben, ist:
DROP DATABASE dbName; CREATE DATABASE dbName; USE DATABASE dbName;
Die Alternative ist die information_schema
Datenbank für Trigger abzufragen, gespeicherte Routinen (Prozeduren und Funktionen), Tabellen, Views und möglicherweise noch etwas anderes und lassen sie einzeln fallen.
Auch danach ist Ihre Datenbank möglicherweise noch nicht im selben Status wie eine neu erstellte Datenbank, da sie möglicherweise einen benutzerdefinierten Standardzeichensatz und Sortierfolge enthält. Verwenden Sie ALTER DATABASE
, um das zu ändern.
Da Features immer hinzugefügt werden (Ereignisse ...), werden Sie mehr und mehr auf diese Weise arbeiten. Die einzige Möglichkeit, die Datenbank vollständig zu leeren, besteht darin, sie zu löschen und neu zu erstellen.
Sie können eine Liste aller Tabellen in einer Datenbank abrufen ($databaseName
), durchlaufen Sie alle und wenden Sie jeweils TRUNCATE TABLE
an.
$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>";
}
Dies löscht den Inhalt aller Tabellen in einer Datenbank und behält die Struktur bei.
Bitte [bearbeiten] mit mehr Informationen. Code-only und "try this" -Antworten werden [entmutigt] (// meta.stackexchange.com/questions/196187), weil sie keinen durchsuchbaren Inhalt enthalten und nicht erklären, warum jemand "das versuchen sollte". Wir bemühen uns, eine Ressource für Wissen zu sein. – Mogsdad
Das funktionierte für mich.
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. Druck MySQL-Datenbank in PHP
- 2. PHP in MySQL-Datenbank einfügen
- 3. MySQL/PHP Datenbank Normalisierung
- 4. php Speichern Tamilisch in php mysql Datenbank
- 5. Draggable mit Datenbank PHP und MySQL
- 6. php mysql datenbank select
- 7. php und mySQL Datenbank Concurrency Update
- 8. Leere Reihe Prävention in mysql
- 9. Wert ändern in Mysql Datenbank über PHP
- 10. Warum fügt meine MySQL-Datenbank leere Zeilen hinzu?
- 11. deserialisieren Datenarray mit php aus MySQL-Datenbank
- 12. Einfügen von Daten in die Datenbank in PHP und MySQL
- 13. Bild von MYSQL-Datenbank (PHP, MySql)
- 14. MySQL-Datenbank mit PHP überwachen
- 15. PHP Formular mit MySQL-Datenbank
- 16. PHP Mysql Datenbank Hilfe benötigt
- 17. MySQL Datenbank Suche PHP-Ausgabe
- 18. Leere Daten senden in MySQL, stattdessen Eingabewert
- 19. PHP MySQL Formularwerte zur Datenbank
- 20. Größe der Datenbank. PHP - MySQL
- 21. android mysql php CSV-Datenbank
- 22. php mysql Datenbank select-Anweisung
- 23. PHP MySQL Datenbank überprüfen DateTime
- 24. php überprüfen und validieren Formulareingabe mit mysql Datenbank
- 25. Zeit in PHP mysql Datenbank verwenden
- 26. Array in Mysql-Datenbank einfügen PHP
- 27. Speichern php datetime in mysql Datenbank
- 28. Einfügen in die Datenbank (mysql) mit Ajax und PHP
- 29. Suche gesamte Datenbank in MySQL mit PHP
- 30. Wie man MySQL Datenbank in PHP sichert?
werden Sie die Struktur der Tabelle verlieren –
Nun das Thema Starter sagte nichts, außer er eine leere Datenbank mit dem gleichen Namen will, so ist es durchaus die Frage beantwortet. Es hat keinen Sinn, möglicherweise falsche Annahmen zu machen, deshalb erhielt diese Antwort +1 von mir. – Flavius
Wenn der Benutzer nicht über die Berechtigung "CREATE DATABASE" verfügt, bleiben sie hängen. –