1. 先執(zhí)行select語句生成所有truncate語句
語句格式:
select CONCAT('truncate TABLE ',table_schema,'.',TABLE_NAME, ';') from INFORMATION_SCHEMA.TABLES where table_schema in ('數(shù)據(jù)庫1','數(shù)據(jù)庫2');
以名為dbname的數(shù)據(jù)庫為例,執(zhí)行select語句:
mysql> select CONCAT('truncate TABLE ',table_schema,'.',TABLE_NAME, ';') from INFORMATION_SCHEMA.TABLES where table_schema in ('dbname'); +------------------------------------------------------------+ | CONCAT('truncate TABLE ',table_schema,'.',TABLE_NAME, ';') | +------------------------------------------------------------+ | truncate TABLE dbname.ABOUTUSINFO; | | truncate TABLE dbname.ABUTMENT; | | truncate TABLE dbname.ABUTMENTFILE; | | truncate TABLE dbname.ACHVORG; | | truncate TABLE dbname.WORKFLOWNODE; | | truncate TABLE dbname.ZONESERVICE; | | truncate TABLE dbname.ZONESERVICEFILE; | +------------------------------------------------------------+ 7 rows in set mysql>
2. 把每條truncate語句前后的“|”替換為空字符
用文本編輯器(如 Notepad++)把每條truncate語句前后的“|”替換為空字符,方便后面一次復制多條執(zhí)行。
替換前:
替換后:
3. 復制truncate語句到mysql命令行執(zhí)行
復制truncate語句到mysql命令行執(zhí)行,可以一次復制多條執(zhí)行。
mysql> truncate TABLE dbname.ZONESERVICE; Query OK, 0 rows affected mysql>
這樣就清空數(shù)據(jù)庫中所有表啦,簡單吧~
truncate與drop,delete的對比
上面說過truncate與delete,drop很相似,其實這三者還是與很大的不同的,下面簡單對比下三者的異同。
到此這篇關于MySQL用truncate命令快速清空一個數(shù)據(jù)庫中的所有表 的文章就介紹到這了,更多相關MySQL truncate清空數(shù)據(jù)庫表 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
標簽:公主嶺 惠州 合肥 天津 呼和浩特 沈陽 牡丹江 阿里
巨人網(wǎng)絡通訊聲明:本文標題《MySQL用truncate命令快速清空一個數(shù)據(jù)庫中的所有表》,本文關鍵詞 MySQL,用,truncate,命令,快速,;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。下一篇:MySQL外鍵約束的實例講解