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

数据库 MySQL
用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语句
责任编辑:赵鹏 来源: 中国IT实验室
相关推荐

2010-05-18 17:17:02

MySQL数据表

2009-12-07 12:56:40

PHP文件管理

2010-11-23 13:51:55

MySQL数据表

2010-05-24 13:14:19

创建MySQL

2011-04-08 11:38:37

access数据自动联接

2010-11-24 13:58:11

mysql表

2011-07-19 11:12:36

PHPMySQL数据库

2010-11-22 13:53:46

MySQL数据表

2009-06-02 10:57:22

ADO.NET多数据表操作

2010-06-09 16:55:47

MySQL数据表

2010-11-24 13:11:06

MySQL遍历数据表

2017-07-27 14:21:40

phpPHP源码分析hashtable

2010-05-12 18:35:25

MySQL数据表

2021-08-11 09:47:57

MySQL 数据InnoDB

2016-12-21 10:35:55

PHP内核PHP哈希表

2022-09-29 10:06:56

SQLMySQL服务端

2010-09-02 10:53:21

SQL删除

2010-11-24 10:52:57

Mysql字符集

2010-06-13 17:35:17

MySQL数据表

2010-09-09 15:23:16

SQL更新数据
点赞
收藏

51CTO技术栈公众号