如何删除MySQL数据库?


169

您可能从我的最后一个问题注意到,一个问题导致了更多问题,请在MySQL监视器中阅读MySQL手册?

我的数据库现在无法使用,部分原因是我有兴趣破坏事物并且无法查看错误消息。我知道我不应该重用主键,但是在删除损坏的数据库后,我想再次使用它们。所以

如何正确删除MySQL数据库?

Answers:



34

如果您不能删除数据库,即使语句中没有拼写错误并且不要错过;结尾,请在反引号之间将数据库名称括起来:

mysql> drop database `my-database`;

反引号用于数据库或列,撇号用于其中的数据。

有关更多信息,请参见对堆栈溢出问题的此答案。什么时候使用单引号,双引号和反引号?


2
感谢您提供此答案,直到使用反引号后它才对我有用。
tomsihap '16

我不得不将其封装在Windows上。否则我就知道了You have an error in your SQL syntax;
Amio.io

16

如果在创建数据库时使用SQL脚本,并且脚本创建了任何用户,则也需要删除它们。最后,您需要刷新用户;即,强制MySQL重新读取用户的权限。

-- 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;

祝好运!


上面的SQL在MySQL中不起作用。(也许这是mysql的旧版本?
Jacob

3
drop database <db_name>;
FLUSH PRIVILEGES;

7
查看答案的外观,并尝试通过编辑答案来正确设置答案的格式,而不仅仅是发布代码。提供一些有关代码的说明或信息或用法。例如,请参阅此答案
阿齐克·阿卜杜拉

0

我需要更正特权。REVOKE ALL PRIVILEGES ON日志.* FROM 'root'@'root'; GRANT ALL PRIVILEGES ON日志.* TO 'root'@'root'WITH GRANT OPTION;


-1

如果您在XAMPP中工作,而对drop database的查询不起作用,则可以转到operation标记,在其中找到该列(drop the database(drop)),单击该按钮,数据库将被删除。


您还可以使用xammp查找该数据库在Windows上的存储位置。查找mysql数据目录所在的位置。然后删除它。例如,如果您的数据库名为日志,则可能位于:E:\ Program Files \ xampp \ mysql \ data \ logs
DidEatOats '18
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.