mysql批量删除指定前缀或后缀表

今天突然发现我们数据库中多出很多表,后缀名为“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"])
}
?

>


原文地址:https://www.cnblogs.com/lcchuguo/p/5282055.html