php中批量刪除Mysql中相同前綴的數(shù)據(jù)表
作者:佚名
用php開(kāi)發(fā)程序時(shí),可能需要?jiǎng)h除MySQL數(shù)據(jù)庫(kù)中的數(shù)據(jù)表。當(dāng)前綴名相同的時(shí)候,我們?nèi)绻捎门縿h除的方法,會(huì)大大的提高效率。本文介紹了兩種批量刪除的方法,供讀者參考。
用php開(kāi)發(fā)程序時(shí),批量刪除相同前綴的數(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>";
- }
- }
- }
- ?>
方法二:
這個(gè)是以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){
- //測(cè)試之用
- /*echo $data[Name];
- echo "
- ";
- echo $table;
- echo "
- ";*/
- mysql_query("drop table $data[Name]");
- }
- }
- return true;
- }
- /*截取某個(gè)特定字符前的所有字符函數(shù)
- *$str 為待截取字符串
- *$flag 特定字符如"_"
- */
- function mysubstr($str,$flag){
- $pos=strpos($str,$flag);
- return substr($str,0,$pos);
- }
- ?>
更改之處在:
1.開(kāi)頭處
- <?php
- function deldata($dbname,$tableflag){
- $db_host = 'localhost';
- $db_port = '3306';
- $db_user = 'user';
- $db_pass = 'password';
改為自己的數(shù)據(jù)庫(kù)地址,賬號(hào)和密碼即可。
2.結(jié)尾處
改為自己的數(shù)據(jù)庫(kù)名和想刪掉的表前綴。
可以復(fù)制上面的代碼保存為.php,再上傳到空間目錄打開(kāi)。這樣我們就能完成數(shù)據(jù)表的批量刪除了。
【編輯推薦】
責(zé)任編輯:趙鵬
來(lái)源:
中國(guó)IT實(shí)驗(yàn)室