站长论坛

标题: php中批量删除Mysql中相同前缀的数据表 [打印本页]

作者: tzlink    时间: 2011-7-28 09:08
标题: php中批量删除Mysql中相同前缀的数据表
用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>";

}

}

}

?>



  方法二:

  这个是以xx_为前缀的示范,大家可以自己更改为想删除的表前缀。

  复制代码 代码如下:

以下是代码片段:
 
<?php

function deldata($dbname,$tableflag){

$db_host = 'localhost';

$db_port = '3306';

$db_user = 'user';

$db_pass = 'password';

$connect =mysql_connect($db_host,$db_user,$db_pass);

mysql_select_db($dbname);

$result = mysql_query("show table status from $dbname",$connect);

$data=mysql_fetch_array($result);

while($data=mysql_fetch_array($result)) {

$table=mysubstr($data[Name],"_");

if($table==$tableflag){

//测试之用

/*echo $data[Name];

echo "

";

echo $table;

echo "

";*/

mysql_query("drop table $data[Name]");

}

}

return true;

}

/*截取某个特定字符前的所有字符函数

*$str 为待截取字符串

*$flag 特定字符如"_"

*/

function mysubstr($str,$flag){

$pos=strpos($str,$flag);

return substr($str,0,$pos);

}

?>




欢迎光临 站长论坛 (http://www.tzlink.com/bbs/) Powered by Discuz! X3.2