准备一个存储过程,我要删除的数据库是icinga,要删除别的可以替换,等会使用
CREATE PROCEDURE clear()
BEGIN
DECLARE done INT DEFAULT 0; #游标的标志位
DECLARE name varchar(50);
DECLARE cmd varchar(150);
DECLARE tb_name CURSOR FOR SELECT table_name FROM information_schema.TABLES WHERE table_schema='icinga';
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
OPEN tb_name;
REPEAT
FETCH tb_name INTO name;
IF NOT done THEN
#set cmd=concat('Delete from ',DB_NAME,'.','`',`name`,'`');
set cmd=concat('TRUNCATE table ','icinga','.','`',`name`,'`'); # 拼删除命令
SET @E=cmd;
PREPARE stmt FROM @E;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
END IF;
UNTIL done END REPEAT;
CLOSE tb_name;
END;
然后登录mysql
mysql -h 10.1.70.41 -uroot -p
mysql>delimiter // #以//作为分割,默认的是;