Mysql
 sql >> Base de données >  >> RDS >> Mysql

BASE DE DONNÉES MySQL DROP

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 !