php中批量刪除Mysql中相同前綴的數(shù)據(jù)表
作者:佚名
用php開發(fā)程序時,可能需要刪除MySQL數(shù)據(jù)庫中的數(shù)據(jù)表。當(dāng)前綴名相同的時候,我們?nèi)绻捎门縿h除的方法,會大大的提高效率。本文介紹了兩種批量刪除的方法,供讀者參考。
用php開發(fā)程序時,批量刪除相同前綴的數(shù)據(jù)表的兩種方法如下:
方法一:
復(fù)制代碼 代碼如下:
- <?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_為前綴的示范,大家可以自己更改為想刪除的表前綴。
復(fù)制代碼 代碼如下:
- <?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.結(jié)尾處
改為自己的數(shù)據(jù)庫名和想刪掉的表前綴。
可以復(fù)制上面的代碼保存為.php,再上傳到空間目錄打開。這樣我們就能完成數(shù)據(jù)表的批量刪除了。
【編輯推薦】
責(zé)任編輯:趙鵬
來源:
中國IT實驗室