che*_*one 29 terminal mysql command-line
通常我打开 Terminal.app 并连接到远程 MySQL 数据库。
然后我使用这个命令删除一个表:
mysql> drop table [table name];
Run Code Online (Sandbox Code Playgroud)
但我需要的是删除数据库中所有表的命令行。
如果我使用:
mysql> drop database [database name];
Run Code Online (Sandbox Code Playgroud)
我将彻底销毁数据库,我将无法再次创建表。我对吗?
Wil*_*son 29
您可以删除数据库然后立即重新创建它:
mysql> drop database [database name];
mysql> create database [database name];
ken*_*orb 11
您可以尝试以下命令:
mysqldump --no-data --add-drop-table DB_NAME | grep ^DROP | mysql -v DB_NAME
Run Code Online (Sandbox Code Playgroud)
或者:
mysql --silent --skip-column-names -e "SHOW TABLES" DB_NAME | xargs -L1 -I% echo 'DROP TABLE `%`;' | mysql -v DB_NAME
Run Code Online (Sandbox Code Playgroud)
DB_NAME
您的数据库名称在哪里。您可以~/.my.cnf
在命令中指定或添加数据库凭据(例如-uroot -proot
)。
如果您的数据库用户没有删除数据库的权限,则此方法比删除和创建数据库有一些优势。