Php SQL遍历表,如果不确定名称,则删除

Php SQL遍历表,如果不确定名称,则删除,php,mysql,sql,drop-table,Php,Mysql,Sql,Drop Table,我想删除数据库中几乎所有的表。 别问我为什么它们这么多,太长了,无法解释 所以我有三张桌子,我不想丢掉 我可以使用什么SQL语句来执行此操作? 我已经在谷歌上搜索了一段时间,但什么都没有出现 因此,我在PHP中有这样的想法: foreach($tab as $tableList){ if($tab!='foo'&&$tab!='bar'&&$tab!='foofoobar') mysql_query('DROP TABLE '.$tab); } 有什么想法吗?如

我想删除数据库中几乎所有的表。 别问我为什么它们这么多,太长了,无法解释

所以我有三张桌子,我不想丢掉

我可以使用什么SQL语句来执行此操作? 我已经在谷歌上搜索了一段时间,但什么都没有出现

因此,我在PHP中有这样的想法:

foreach($tab as $tableList){
if($tab!='foo'&&$tab!='bar'&&$tab!='foofoobar')
mysql_query('DROP TABLE '.$tab);
}

有什么想法吗?如果一切都是mysql语句,那就更好了

可以使用逗号一次删除多个表

     DROP TABLE table_1, table_2, etc;

可以使用逗号一次删除多个表

     DROP TABLE table_1, table_2, etc;

从你的PHP代码,我认为你应该使用或不使用和

foreach($tab as $tableList){
if($tab!='foo'|| $tab!='bar' || $tab!='3rdtablename')
mysql_query('DROP TABLE '.$tab);
}
原因很明显

好吧,如果你想在MySQL中实现它

你可以先列出所有的表格。。。使用

show tables > whateverfile.txt
并存储在一个文件中。。。根据需要编辑文件。。。i、 e.删除不应删除的表的名称,并将DROP TABLE添加到文件的第一行,以及
在MysQL中执行它。。。mysql 从您的PHP代码中,我认为您应该使用或不使用,并且

foreach($tab as $tableList){
if($tab!='foo'|| $tab!='bar' || $tab!='3rdtablename')
mysql_query('DROP TABLE '.$tab);
}
原因很明显

好吧,如果你想在MySQL中实现它

你可以先列出所有的表格。。。使用

show tables > whateverfile.txt
并存储在一个文件中。。。根据需要编辑文件。。。i、 e.删除不应删除的表的名称,并将DROP TABLE添加到文件的第一行,以及 在MysQL中执行它。。。mysql 将为您提供数据库“db_name”中的所有表

在运行DROP语句之前,不要忘记备份表

您可以使用PHP执行DROP语句或动态SQL,如下所示:

摘自本问题:

将为您提供数据库“db_name”中的所有表

在运行DROP语句之前,不要忘记备份表

您可以使用PHP执行DROP语句或动态SQL,如下所示:

摘自本问题:


感谢您的文件解决方案!我要试试这个!尽管如此,您在这里给我的php代码并不好,因为使用OR运算符,“foo”和“bar”表都将被删除-重新考虑条件无论如何,谢谢你的解决方案!干杯感谢您的文件解决方案!我要试试这个!尽管如此,您在这里给我的php代码并不好,因为使用OR运算符,“foo”和“bar”表都将被删除-重新考虑条件无论如何,谢谢你的解决方案!干杯好的,所以动态sql语句对我来说是无法控制的。。。现在我可以使用第一条语句列出表,然后使用php删除某些表?。。。好的,我会试着再次感谢你的建议@Andrei:请注意,您不必执行DROP tableX;每一张桌子。您还可以删除表1、表2、…、表n;但我想在PHP循环中运行9000次滴落不会是问题。也许更好,所以你会发现错误,比如因为某种原因滴落失败。是的,谢谢你指出这一点!我现在正在编辑用于删除表的php循环。再次感谢!谢谢你的帮助!好的,所以动态sql语句对我来说是无法控制的。。。现在我可以使用第一条语句列出表,然后使用php删除某些表?。。。好的,我会试着再次感谢你的建议@Andrei:请注意,您不必执行DROP tableX;每一张桌子。您还可以删除表1、表2、…、表n;但我想在PHP循环中运行9000次滴落不会是问题。也许更好,所以你会发现错误,比如因为某种原因滴落失败。是的,谢谢你指出这一点!我现在正在编辑用于删除表的php循环。再次感谢!谢谢你的帮助!Andrei,该条款将不包括您需要删除的表:如果有任何内容,请获取所有表的列表,并在将这些表传递给drop TABLE之前删除这些表……是的,这正是我管理它的方式!谢谢你的评论,现在已经完成了,我已经完成了!Andrei,该条款将不包括您需要删除的表:如果有任何内容,请获取所有表的列表,并在将这些表传递给drop TABLE之前删除这些表……是的,这正是我管理它的方式!谢谢你的评论,现在已经完成了,我已经完成了!