php中批量删除Mysql中相同前缀的数据表

来源:Linux认证    发布时间:2012-11-10    Linux认证视频    评论

    方法一:
    复制代码 代码如下:
    <?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);
    }
    ?>
    更改之处在:
    1.开头处
    <?php
    function deldata($dbname,$tableflag){
    $db_host = 'localhost';
    $db_port = '3306';
    $db_user = 'user';
    $db_pass = 'password';
    改为自己的数据库地址,账号和密码即可
    2.结尾处
    改为自己的数据库名和想删掉的表前缀
    可以复制上面的代码保存为。php,再上传到空间目录打开

  考试大温馨提示:本内容来源于网络,仅代表作者个人观点,与本站立场无关,仅供您学习交流使用。其中可能有部分文章经过多次转载而造成文章内容缺失、错误或文章作者不详等问题,请您谅解。如有侵犯您的权利,请联系我们,本站会立即予以处理。

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答