MySQL 批量刪除同前綴表

數據庫中有時需要創建一些臨時的表來存放數據,到了一定期限,這些表就沒有實際價值,就得清理掉。這些表名的前綴會是一致的。

sql語句要的是:

DROP TABLE [table_name],[table_name],[table_name];

取出同前綴的表名sql語句:

SELECT CONCAT( 'DROP TABLE ', GROUP_CONCAT(table_name) , ';' )   
	AS statement FROM information_schema.tables   
	WHERE table_schema = 'ipdown' AND table_name LIKE 'temp%';

執行sql語句,得到的結果就是之前需要的那條sql語句。然後再執行這條得到的語句,就達到刪除的目的。

轉載地址:http://blog.csdn.net/iefreer/article/details/12627389


我是在ZF用使用的,實例代碼如下:

$delsql = "SELECT CONCAT( 'DROP TABLE ', GROUP_CONCAT(table_name) , ';' )   
	AS statement FROM information_schema.tables   
	WHERE table_schema = 'database_name' AND table_name LIKE '$pre_name%'";
$sql = $db->fetchOne($delsql);
$db->exec($sql);



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章