CREATE PROCEDURE drop_table( DB_NAME varchar(50), prefix varchar(16))
BEGIN
DECLARE done INT DEFAULT 0 #游标的标志位
DECLARE a varchar(20)
DECLARE b varchar(40)
DECLARE cur1 CURSOR FOR SELECT table_name FROM information_schema.TABLES WHERE table_schema=DB_NAME and table_name like concat(prefix, '%')
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1
OPEN cur1
REPEAT
FETCH cur1 INTO a
IF NOT done THEN
set b=concat('drop table ',DB_NAME,'.',a) # 拼删除命令
# set b=concat('TRUNCATE from ',DB_NAME,'.',a) # 拼删除命令
SET @E=b
PREPARE stmt1 FROM @E
EXECUTE stmt1 # 执行命令
DEALLOCATE PREPARE stmt1 #释放对象
END IF
UNTIL done END REPEAT
CLOSE cur1
END
//
DELIMITER
call drop_table('test', 'pre_')
在phpmyadmin中先运行(假设前缀是"abc"):select concat('drop table ', table_name, '')
from information_schema.tables
where table_name like 'abc_%'
然后把执行的结果从网页中复制出来,粘贴到记事本中,把记事本中的文件另存为:droptable.sql 。(文件类型中选“所有文件”)
在phpmyadmin中,顶部的菜单中,有“import”,点击后,你把新建的文件上传上去,然后点击右下方的“执行”
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)