删除所有表格一个吗?

时间:2016-04-18 16:04:41

标签: php mysql sql database

我很想知道是否有办法删除我的bdd的所有表格,而不是名为" keep"在PHP中。像这样:

$sql = 'DROP TABLE * EXEPT 'keep' ';

还有什么命令在php中创建一个新的bdd(不是表)或者我必须在phpmyadmin中执行吗?

提前致谢!

1 个答案:

答案 0 :(得分:0)

您可以通过访问information_schema.tables表并从中选择适当的架构来创建“drop table”sql文件。

select concat('drop table ','table_name',';')
  from information_schema.tables
 where table_schema = '[my_schema_name]'
   and table_name != '[the_table_I_don't_want_to_drop]'
INTO OUTFILE '[FILESPEC]';

如果您想列出一组不丢弃的表,只需将和子句更改为“和table_name不在('table1','table2',...'tableN')”。

你可以用PHP做同样的事情。您只需遍历结果并执行结果字符串。