今天突然发现我们数据库中多出很多表,后缀名为“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"]) } ? >
时间: 2024-10-11 21:40:05