MySQLデータベースを削除するにはどうすればよいですか?


169

私の最後の質問から、問題がいくつかの問題を引き起こしたことに気づくかもしれません。MySQLモニターでMySQLマニュアルを読んでいますか?

データベースを使用できなくなった理由の1つは、物事を壊したいという関心と、エラーメッセージを確認できないことです。主キーを再利用するべきではないことはわかっていますが、劣化したデータベースを削除した後、それらを再度使用したいと思います。そう

MySQLデータベースを正しく削除するにはどうすればよいですか?

回答:



34

ステートメントにタイプミスがなく;、最後にが含まれていなくても、データベースを削除できない場合は、データベース名をバッククォートで囲みます。

mysql> drop database `my-database`;

バッククォートはデータベースまたは列用、アポストロフィはこれら内のデータ用です。

詳細については、スタックオーバーフローの質問に対するこの回答を参照してください。単一引用符、二重引用符、およびバッククォートを使用する場合


2
この回答のおかげで、バッククォートを使用するまではうまくいきませんでした。
tomsihap

私はそれをWindowsで囲まなければなりませんでした。そうでなければ私は得たYou have an error in your SQL syntax;
Amio.io 2017年

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
それがどのように見えるかあなたの答えを見て、それを編集することによって正しくフォーマットするようにしてください、そして単にコードを投稿しないでください。コードについての説明、情報、または使用方法を説明します。たとえば、この回答を参照してください。
Azik Abdullah 2014

0

権限を修正する必要がありました。REVOKE ALL PRIVILEGES ONログ.* FROM 'root'@'root'; GRANT ALL PRIVILEGES ONログ.* TO 'root'@'root'WITH GRANT OPTION;


-1

XAMPPで作業していて、データベースの削除のクエリが機能しない場合は、列が見つかった操作タグに移動して(データベースを削除(drop))、そのボタンをクリックするとデータベースが削除されます。


xammpを使用して、データベースがWindowsに保存されている場所を見つけることもできます。mysqlデータディレクトリがある場所を見つけます。そして、それを削除します。たとえば、データベースの名前がlogsの場合、次の場所にある可能性があります。E:\ Program Files \ xampp \ mysql \ data \ logs
DoesEatOats
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.