如何在不丢弃数据库的情况下删除MySQL数据库中的所有表?

前端之家收集整理的这篇文章主要介绍了如何在不丢弃数据库的情况下删除MySQL数据库中的所有表?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要事先删除数据库中的所有表而不知道它们的名字.典型的过程是删除然后重新创建数据库,但这不是一个选项.最好的方法是什么?

解决方法

使用 mysqldump(从 Thingy Ma Jig Blog开始)有一个更简单的bash单线程.
MysqLdump -u[USERNAME] -p[PASSWORD] --add-drop-table --no-data [DATABASE] | grep ^DROP | MysqL -u[USERNAME] -p[PASSWORD] [DATABASE]

如果您收到此错误

ERROR 1217 (23000) at line 1: Cannot delete or update a parent row: 
    a foreign key constraint fails

请尝试以下方法

(echo 'SET foreign_key_checks = 0;'; 
 (MysqLdump -u[USERNAME] -p[PASSWORD] --add-drop-table --no-data [DATABASE] | 
     grep ^DROP); 
 echo 'SET foreign_key_checks = 1;') | \
    MysqL -u[USERNAME] -p[PASSWORD] -b [DATABASE]

现在它忽略了约束.

猜你在找的MsSQL相关文章