MySQL 批量删除同前缀表

来源:互联网 发布:产品培训知乎 编辑:程序博客网 时间:2024/05/17 23:31

数据库中有时需要创建一些临时的表来存放数据,到了一定期限,这些表就没有实际价值,就得清理掉。这些表名的前缀会是一致的。

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);



0 0
原创粉丝点击