MySQL利用存储过程清除所有表中的所有记录
生活随笔
收集整理的這篇文章主要介紹了
MySQL利用存储过程清除所有表中的所有记录
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
MySQL利用存儲過程清除所有表中的所有記錄
在使用MySQL過程中,難免會出現一些測試數據,然而這些測試數據在真正部署運行的時候,通常要被清楚掉,并且自增長的字段要回復初始值。如何高效快速的實現以上功能,可以使用存儲過程實現這一個功能。
主要使用:TRUNCATE TABLE。不僅可以清楚數據,而且可以使自增長字段歸為1:
BEGINDECLARE strClear VARCHAR(256);DECLARE done INT DEFAULT 0;#定義游標DECLARE curOne CURSOR FOR SELECT CONCAT('TRUNCATE TABLE ',TABLE_NAME,';') as ClearTable FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = DBName;#綁定控制變量到游標,游標循環結束自動轉為TrueDECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;#打開游標OPEN curOne;FETCH curOne INTO strClear;REPEATFETCH 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執行存儲過程之前:
執行存儲過程之后:
原文地址http://www.bieryun.com/3535.html
總結
以上是生活随笔為你收集整理的MySQL利用存储过程清除所有表中的所有记录的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 轮播插件swiper.js?
- 下一篇: robot framework安装