Comment supprimer une base de données MySQL?

169

Vous remarquerez peut-être d'après ma dernière question qu'un problème a causé d'autres problèmes, Lire les manuels MySQL dans le moniteur MySQL?

Ma base de données est maintenant inutilisable en partie à cause de mon intérêt à casser des choses et de mon incapacité à regarder les messages d'erreur. Je sais que je ne devrais pas réutiliser les clés primaires, mais j'aimerais les réutiliser après la suppression de la base de données que j'ai détériorée. Alors

Comment puis-je supprimer correctement une base de données MySQL?

Léo Léopold Hertz 준영
la source

Réponses:

296

À partir de l'invite MySQL:

mysql> drop database <db_name>;
rnicholson
la source
34

Si votre base de données ne peut pas être supprimée, même si vous n'avez pas de fautes de frappe dans l'instruction et que vous ne manquez pas le ;à la fin, placez le nom de la base de données entre les backticks:

mysql> drop database `my-database`;

Les backticks sont pour les bases de données ou les colonnes, les apostrophes sont pour les données qu'ils contiennent.

Pour plus d'informations, consultez cette réponse à la question de Stack Overflow Quand utiliser des guillemets simples, des guillemets doubles et des contre-indications? .

sjas
la source
2
Merci pour cette réponse, cela n'a pas fonctionné pour moi jusqu'à ce que j'utilise des backticks.
tomsihap
J'ai dû le mettre sous Windows. Sinon, je l'ai You have an error in your SQL syntax;.
Amio.io
16

Si vous utilisez un script SQL lorsque vous créez votre base de données et que des utilisateurs sont créés par votre script, vous devez également les supprimer. Enfin, vous devez vider les utilisateurs; c'est-à-dire, force MySQL à relire les privilèges de l'utilisateur.

-- DELETE ALL RECIPE

drop schema <database_name>;
-- Same as `drop database <database_name>`

drop user <a_user_name>;
-- You may need to add a hostname e.g `drop user bob@localhost`

FLUSH PRIVILEGES;

Bonne chance!

Ben
la source
Le SQL ci-dessus ne fonctionne pas dans MySQL. (Peut-être ceci pour une ancienne version de mysql ??
Jacob
3
drop database <db_name>;
FLUSH PRIVILEGES;
anonyme
la source
7
Regardez votre réponse à quoi elle ressemble et essayez de formater la réponse correctement en la modifiant et ne publiez pas simplement le code. Donnez quelques explications ou informations ou utilisation de votre code. Par exemple, voyez cette réponse .
Azik Abdullah
0

J'avais besoin de corriger les privilèges. REVOKE ALL PRIVILEGES ONjournaux .* FROM 'root'@'root'; GRANT ALL PRIVILEGES ONjournaux.* TO 'root'@'root'WITH GRANT OPTION;

Mange de l'Avoine
la source
-1

Si vous travaillez dans XAMPP et que votre requête de suppression de base de données ne fonctionne pas, vous pouvez accéder à la balise des opérations où vous trouvez la colonne (déposer la base de données (déposer)), cliquez sur ce bouton et votre base de données sera supprimée.

Yusma Imtiaz
la source
Vous pouvez également trouver l'emplacement où cette base de données est stockée sur Windows, à l'aide de xammp. Trouvez l'emplacement où se trouve le répertoire de données mysql. Et puis supprimez-le. Par exemple, si votre base de données est nommée logs, cela peut être à: E: \ Program Files \ xampp \ mysql \ data \ logs
DoesEatOats