質問: コマンドラインからすべてのmysqlテーブルを削除する方法は? 通常、terminal.appを開いて、リモートのmysqlデータベースに接続します。次に、このコマンドを使用してテーブルを削除します。mysql> drop table [table name]; しかし、必要なのは、データベース内のすべてのテーブルを削除するコマンドラインです。私が使用する場合:mysql> drop database [database name]; データベースを完全に破棄し、テーブルを再度作成することはできません。私は正しいですか?
回答: 次のコマンドを試すことができます。mysqldump --no-data --add-drop-table db_name | grep ^drop | mysql -v db_name または:mysql --silent --skip-column-names -e "show tables" db_name | xargs -l1 -i% echo 'drop table `%`;' | mysql -v db_name ここで、db_nameはデータベース名です。 ~/.my.cnfで指定するか、コマンドに追加することができるデータベース資格情報(例:-uroot -proot)。この方法には、データベースユーザーがデータベースを削除する権限を持っていない場合に備えて、データベースを削除して作成するよりもいくつかの利点があります。