使用php代码:
<?php
mysql_connect(”,”,”);
mysql_select_db(”);
$rs=mysql_query(‘show tables’);
while($arr=mysql_fetch_array($rs)){
$TF=strpos($arr[0],’class_’);
if($TF===0){
$FT=mysql_query(“drop table $arr[0]”);
if($FT){
echo “$arr[0] 删除成功!<br>”;
}
}
}
?>
或
<?php
$hostname =’localhost’;
$userid = ‘username’;
$password = ‘password’;
$dbname = ‘dbname’;
$connect = mysql_connect($hostname,$userid,$password);
mysql_select_db($dbname);
$result = mysql_query(“show table status from $dbname”,$connect);
while($data=mysql_fetch_array($result)) {
mysql_query(“drop table $data[Name]”);
}
?>
通过phpmyadmin批量删除
一、先说一下简单的批量删除特定前缀(其实有特定字符串的都可以)的表:
1、在phpmyadmin中运行如下sql命令:
Select CONCAT( ‘drop table ‘, table_name, ‘;’ )
FROM information_schema.tables
Where table_name LIKE ‘cdb_%’;
说明:information_schema是系统数据库,这个数据库里有一个叫table的表,表里的内容是当前登录用户权限内可以看见的所有数据库的表名,一个表名占一行。CONCAT是连接字符串。上面语句的作用是生成一批删除指定前缀(cdb_)的表的sql语句。类似:
drop table cdb_aaa;
drop table cdb_bbb;
2、复制上面的内容,进入需要删除表的数据库,粘帖到sql运行框内,执行。
注意,在产生批量删除的sql语句的时候,可能有些字符显示不下(表名太长)。点击该页面的“选项”,里面勾选“完整文字”即可。
二、批量修改表名
1、在phpmyadmin中运行如下sql命令:
Select CONCAT( ‘ALTER TABLE ‘, table_name, ‘ RENAME TO ‘, table_name,‘;’ )
FROM information_schema.tables
Where table_name LIKE ‘cdb_%’;
得到结果:
ALTER TABLE cdb_aaa RENAME TO cdb_aaa;
ALTER TABLE cdb_bbb RENAME TO cdb_bbb;
2、复制上面的结果到记事本,寻找RENAME TO cdb批量替换成RENAME TO pre(将cdb前缀改成pre前缀)
3、再复制记事本的内容,粘帖到phpmyadmin的sql运行框内,执行。
ps:上面的方法说方便也不是太方便,如果要改的表少的话还是手工改快一点。