php中批量刪除Mysql中相同前綴的數(shù)據(jù)表
作者:佚名 
  用php開發(fā)程序時,可能需要刪除MySQL數(shù)據(jù)庫中的數(shù)據(jù)表。當前綴名相同的時候,我們如果采用批量刪除的方法,會大大的提高效率。本文介紹了兩種批量刪除的方法,供讀者參考。
 用php開發(fā)程序時,批量刪除相同前綴的數(shù)據(jù)表的兩種方法如下:
方法一:
復制代碼 代碼如下:
- <?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;
 - }
 - /*截取某個特定字符前的所有字符函數(shù)
 - *$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';
 
改為自己的數(shù)據(jù)庫地址,賬號和密碼即可。
2.結尾處
改為自己的數(shù)據(jù)庫名和想刪掉的表前綴。
可以復制上面的代碼保存為.php,再上傳到空間目錄打開。這樣我們就能完成數(shù)據(jù)表的批量刪除了。
【編輯推薦】
責任編輯:趙鵬 
                    來源:
                    中國IT實驗室
 














 
 
 


 
 
 
 