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"]) } ?>
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。