A-A+
PHP如何批量删除MYSQL数据库数据表
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_ 前缀的表了,这种方法适合批量删除同样前缀的数据表,在使用的时候,为避免出错,可以先进行数据的备份。