Parfois, vous devrez peut-être supprimer la base de données dans MySQL. Vous pouvez facilement le faire en utilisant la commande MySQL DROP DATABASE. Voici comment supprimer une base de données dans MySQL.
Comment supprimer une base de données dans MySQL
Voici les étapes pour DROP DATABASE dans MySQL. Nous utiliserons la requête MySQL DROP DATABASE pour supprimer la base de données.
Voici la syntaxe de la commande MySQL DROP DATABASE
DROP DATABASE [IF EXISTS] database_name;
En cas d'exécution réussie, MySQL renverra le nombre de tables supprimées. Dans la commande ci-dessus, remplacez database_name par le nom de la base de données que vous souhaitez supprimer.
Si vous essayez de supprimer une base de données qui n'existe pas, MySQL affichera une erreur. Il est donc conseillé d'utiliser l'argument optionnel SI EXISTE
Dans MySQL, la base de données est également connue sous le nom de SCHEMA. Vous pouvez donc également utiliser DROP SCHEMA au lieu de DROP DATABASE.
DROP SCHEMA [IF EXISTS] database_name;
Lecture bonus :MySQL DROP TABLE
MySQL DROP DATABASE à partir de la ligne de commande
Voici un exemple de la façon de supprimer la base de données de la ligne de commande. Vous pouvez les utiliser pour supprimer la base de données d'Ubuntu Linux CLI et d'autres systèmes Linux.
Connectez-vous à MySQL à partir de la ligne de commande. Nous utilisons la commande SHOW DATABASES pour répertorier toutes les bases de données disponibles pour l'utilisateur MySQL.
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | dashboard | | fedingo | | mysql | | performance_schema | | sample | | test | | test1 | | test2 | | test3 | | test4 | +--------------------+ 11 rows in set (0.00 sec)
Ensuite, nous utilisons la commande MySQL DROP DATABASE pour supprimer la base de données dans MySQL
mysql> drop database test4; Query OK, 0 rows affected (0.33 sec)
La sortie affiche "0 lignes affectées" car il n'y a pas de tables dans la base de données test4.
Lecture bonus :MySQL DROP COLUMN
Comment supprimer toutes les bases de données dans MySQL
Soyez prudent avant de supprimer plusieurs bases de données dans MySQL. Il ne peut pas être inversé. Par défaut, la commande DROP DATABASE vous permet de supprimer une seule base de données à la fois. Donc, si vous souhaitez supprimer plusieurs bases de données dans MySQL, vous devez exécuter une commande DROP DATABASE distincte pour chaque base de données.
Cependant, si vous avez de nombreuses tables de base de données et que vous trouvez cela fastidieux, voici un script pour supprimer toutes les bases de données.
mysql -u<user> -p<password> -e "show databases" | grep -v Database | grep -v mysql | grep -v information_schema | gawk '{print "SET FOREIGN_KEY_CHECKS = 0;drop database " $1 ";select sleep(0.1);"}' | mysql -u<user> -p<password>
Dans le script ci-dessus, remplacez les parties en gras par votre nom d'utilisateur et votre mot de passe mysql
Lecture bonus :Comment obtenir des enregistrements d'aujourd'hui dans MySQL
Regardons ce que fait chaque ligne
mysql -u<user> -p<password> -e "show databases"
se connectera à MySQL et renverra une liste de bases de données. Quelque chose comme
Database information_schema my_db another_db api_platform mysql testdb joomla wordpress dev drupal
La première ligne Base de données est juste une chaîne et non un nom de base de données. La liste des noms de bases de données commence à la ligne 2. Parmi eux, information_schema est une base de données système et ne doit pas être supprimée. Nous supprimons donc ces 2 lignes de la sortie ci-dessus
| grep -v Database | grep -v mysql | grep -v information_schema
Enfin, nous utilisons gawk pour parcourir la liste filtrée des noms de bases de données, générer et exécuter les commandes MySQL DROP DATABASE pour chaque nom de base de données de la liste.
Ubiq facilite la visualisation des données en quelques minutes et la surveillance dans des tableaux de bord en temps réel. Essayez-le aujourd'hui !