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

php开发程序时,批量删除相同前缀的数据表的两种方法如下:

方法一:

复制代码 代码如下:

 

 
 
 
  1. <?php 
  2.  
  3. mysql_connect('','','');  
  4.  
  5. mysql_select_db('');  
  6.  
  7. $rs=mysql_query('show tables');  
  8.  
  9. while($arr=mysql_fetch_array($rs)){  
  10.  
  11. $TF=strpos($arr[0],'class_');  
  12.  
  13. if($TF===0){  
  14.  
  15. $FT=mysql_query("drop table $arr[0]");  
  16.  
  17. if($FT){  
  18.  
  19. echo "$arr[0] 删除成功!<br>";  
  20.  
  21. }  
  22.  
  23. }  
  24.  
  25. }  
  26.  
  27. ?> 

 

方法二:

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

复制代码 代码如下:

 

 
 
 
  1. <?php 
  2.  
  3. function deldata($dbname,$tableflag){  
  4.  
  5. $db_host = 'localhost';  
  6.  
  7. $db_port = '3306';  
  8.  
  9. $db_user = 'user';  
  10.  
  11. $db_pass = 'password';  
  12.  
  13. $connect =mysql_connect($db_host,$db_user,$db_pass);  
  14.  
  15. mysql_select_db($dbname);  
  16.  
  17. $result = mysql_query("show table status from $dbname",$connect);  
  18.  
  19. $data=mysql_fetch_array($result);  
  20.  
  21. while($data=mysql_fetch_array($result)) {  
  22.  
  23. $table=mysubstr($data[Name],"_");  
  24.  
  25. if($table==$tableflag){  
  26.  
  27. //测试之用  
  28.  
  29. /*echo $data[Name];  
  30.  
  31. echo "  
  32.  
  33. ";  
  34.  
  35. echo $table;  
  36.  
  37. echo "  
  38.  
  39. ";*/  
  40.  
  41. mysql_query("drop table $data[Name]");  
  42.  
  43. }  
  44.  
  45. }  
  46.  
  47. return true;  
  48.  
  49. }  
  50.  
  51. /*截取某个特定字符前的所有字符函数  
  52.  
  53. *$str 为待截取字符串  
  54.  
  55. *$flag 特定字符如"_"  
  56.  
  57. */  
  58.  
  59. function mysubstr($str,$flag){  
  60.  
  61. $pos=strpos($str,$flag);  
  62.  
  63. return substr($str,0,$pos);  
  64.  
  65. }  
  66.  
  67. ?> 

 

更改之处在:

1.开头处

 

 
 
 
  1. <?php 
  2.  
  3. function deldata($dbname,$tableflag){  
  4.  
  5. $db_host = 'localhost';  
  6.  
  7. $db_port = '3306';  
  8.  
  9. $db_user = 'user';  
  10.  
  11. $db_pass = 'password'

改为自己的数据库地址,账号和密码即可。

2.结尾处

改为自己的数据库名和想删掉的表前缀。

可以复制上面的代码保存为.php,再上传到空间目录打开。这样我们就能完成数据表的批量删除了。

【编辑推荐】

  1. ASP使用MySQL数据库实现方法
  2. 使用TOMCAT连接池连接MySQL
  3. 如何安全的远程使用MySQL GUI工具
  4. MySQL中创建及优化索引组织结构的思路
  5. MySQL优化:使用慢查询日志定位效率较低的SQL语句
THE END