今天突然发现我们数据库中多出许多表,后缀名为“copy”,估计是navicat直接拷贝导致的,然后要对这些有相同后缀名的表进行删除,如果一个一个选择会很麻烦,表计较多,在网上找了找方法,网上主要通过sql语句来删除,自己在他的基础上写了一个php文件实现了批量删除表,其实原理是一样的。
1、MYSQL批量删除
[1]获得批量删除的命令:
Select CONCAT( 'drop table ', table_name, ';' ) FROM information_schema.tables Where table_name LIKE '%_copy';
其中需要调整的仅需要调整“%_copy”即可,根据自己要删除的表特点进行调整
[2]删除表,根据生成的文本,复制之后,执行即可实现删表。
2、php实现删除,其实和上面原理一样
<?php
$con = mysql_connect("localhost","root","");
mysql_select_db("ceshibiao", $con);
$query= "Select CONCAT( 'drop table ', table_name, ';' ) as ceshi
FROM information_schema.tables
Where table_name LIKE '%_copy';";
$cursor= mysql_query($query);
while($ROW=mysql_fetch_array($cursor))
{
mysql_query($ROW["ceshi"])
}
?>