用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);
- }
- ?>
更改之处在:
1.开头处
- <?php
- function deldata($dbname,$tableflag){
- $db_host = 'localhost';
- $db_port = '3306';
- $db_user = 'user';
- $db_pass = 'password';
改为自己的数据库地址,账号和密码即可。
2.结尾处
改为自己的数据库名和想删掉的表前缀。
可以复制上面的代码保存为.php,再上传到空间目录打开。这样我们就能完成数据表的批量删除了。
【编辑推荐】