A-A+

PHP如何批量删除MYSQL数据库数据表

2015年04月03日 PHP开源系统 暂无评论 阅读 21 views 次

mysql数据库表的删除在phpmyadmin等工具中是很容易的直接打开数据库的结构,选择要删除的数据表,直接移到下方,选择项,选择删除,执行就可以了,这个是手动的删除方法,比较牢靠,看得见,一般站点都可以使用这种方法,但这个方法有一个弊端,如果我们的数据表过多,比如要删除一百个表,想要勾选的话就会很麻烦,比如夏日博客想要删除表头为 v9_ 的数据表,这里说的是一个数据库里面可能会有多个CMS的表,比如还有DEDE_前缀的,还有v9_前缀的,哪么应该如何删除掉所有 v9_ 前缀的表呢,其实在 php 中是很容易实现的。

我们新建一个 sql.php 的文件,并在这个文件中进行连接数据并进行删除语句的操作,实例代码如下:

<?php
//设置数据库连接信息。数据库服务器地址,数据库用户名,数据密码
mysql_connect('localhost','root','123456');
//设置查询的数据库名称,比如CMSYOU当前设置的是phpcms
mysql_select_db('phpcms');
$rs=mysql_query('show tables');
while($arr=mysql_fetch_array($rs))
{
//设置要批量删除的数据库表前缀,如:v9_
    $TF=strpos($arr[0],'v9_');
    if($TF===0){
        $FT=mysql_query("drop table $arr[0]");
       if($FT){
            echo "$arr[0] 删除成功!<br>";
            }
        }
}
?>

注意设置好数据库的连接信息,将这个文件上传到站点的根目录下,然后运行 xiariboke.net/sql.php 即可成功删除所有 v9_ 前缀的表了,这种方法适合批量删除同样前缀的数据表,在使用的时候,为避免出错,可以先进行数据的备份。

标签:

给我留言