1. 程式人生 > >MySql使用存儲過程清除數據庫所有表數據,保存數據結構

MySql使用存儲過程清除數據庫所有表數據,保存數據結構

SQ 循環 ati schema locate TE fault truncate one

BEGIN
DECLARE strClear VARCHAR(256);
DECLARE done INT DEFAULT 0;
#定義遊標
DECLARE curOne CURSOR FOR select concat(‘truncate table ‘,table_name,‘;‘) from information_schema.TABLES where table_schema=‘test‘;
#綁定控制變量到遊標,遊標循環結束自動轉為True
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;
#打開遊標
OPEN curOne;
REPEAT
FETCH curOne INTO strClear;
#SELECT strClear;
#動態執行SQL語句
SET @mysql = strClear;
PREPARE stmt from @mysql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

UNTIL done = 1 END REPEAT;

#關閉遊標
CLOSE curOne;
END

MySql使用存儲過程清除數據庫所有表數據,保存數據結構