Suppression de toutes les tables MySQL de la ligne de commande sans autorisations de la base de données DROP
Introduction
MySQL les utilisateurs disposant d'autorisations limitées peuvent être confrontés au défi de supprimer toutes les tables sans avoir accès aux privilèges de la base de données DROP. Cet article explore une solution qui contourne cette restriction.
Suppression de tables dans Windows MySQL à l'aide de l'invite de commande
Pour supprimer toutes les tables d'une base de données Windows MySQL à l'aide de l'invite de commande, suivez ces étapes :
Générez une chaîne contenant tous les noms de tables :
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.
Concaténez l'instruction DROP TABLE :
SET @tables = CONCAT('DROP TABLE ', @tables);
Préparez l'instruction :
PREPARE stmt FROM @tables;
Exécutez l'instruction préparée :
EXECUTE stmt;
Désaffectez la déclaration préparée :
DEALLOCATE PREPARE stmt;
Cette chaîne de commande garantit que toutes les tables sont supprimées dans le bon ordre, évitant ainsi les violations de contraintes de clé étrangère.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!