Entfernen aller MySQL-Tabellen von der Befehlszeile ohne DROP-Datenbankberechtigungen
Einführung
MySQL Benutzer mit eingeschränkten Berechtigungen stehen möglicherweise vor der Herausforderung, alle Tabellen zu löschen, ohne Zugriff auf die DROP-Datenbankberechtigungen zu haben. In diesem Artikel wird eine Lösung untersucht, die diese Einschränkung umgeht.
Tabellen in Windows MySQL über die Eingabeaufforderung löschen
Um alle Tabellen in einer Windows MySQL-Datenbank über die Eingabeaufforderung zu löschen, Befolgen Sie diese Schritte:
Erzeugen Sie eine Zeichenfolge mit allen Tabellennamen:
SET @tables = NULL; SELECT GROUP_CONCAT('`', table_schema, '`.`', table_name, '`') INTO @tables FROM information_schema.tables WHERE table_schema = 'database_name'; -- Specify the database name here.
Verketten Sie die DROP TABLE-Anweisung:
SET @tables = CONCAT('DROP TABLE ', @tables);
Bereiten Sie die Anweisung vor:
PREPARE stmt FROM @tables;
Führen Sie die vorbereitete Anweisung aus:
EXECUTE stmt;
Zuordnung der vorbereiteten Anweisung freigeben:
DEALLOCATE PREPARE stmt;
Diese Befehlszeichenfolge stellt sicher, dass alle Tabellen in der richtigen Reihenfolge gelöscht werden, wodurch Verstöße gegen Fremdschlüsseleinschränkungen vermieden werden.
Das obige ist der detaillierte Inhalt vonWie lösche ich alle MySQL-Tabellen ohne DROP-Datenbankberechtigungen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!