有时候我们需要清库里的表,直接drop database再create本来也是可以,但是如果遇到登陆的用户没有create database的权限或者只需要删除大部分的表,保留几个表的时候怎么办,我们可以用下面的办法来实现。
当表只有几个的时候我们可以很容易的drop table,但是如果上百张表呢,下面提供一个使用information_schema库的方案:
SELECT CONCAT('drop table ',table_name,';') FROM information_schema.`TABLES` WHERE table_schema='数据库名';
我们只需要把数据库名替换成需要清理的数据库名就可以得到一个“drop table 表名;”这样的语句,然后批量执行。例如DEDECMS
CONCAT('drop table ',table_name,';') DROP TABLE dede_addonarticle; DROP TABLE dede_addonimages; DROP TABLE dede_addoninfos; DROP TABLE dede_addonshop; DROP TABLE dede_addonsoft; DROP TABLE dede_addonspec; DROP TABLE dede_admin; DROP TABLE dede_admintype; DROP TABLE dede_advancedsearch; DROP TABLE dede_arcatt; DROP TABLE dede_arccache; DROP TABLE dede_archives; DROP TABLE dede_arcmulti; DROP TABLE dede_arcrank; DROP TABLE dede_arctiny; DROP TABLE dede_arctype; DROP TABLE dede_area; DROP TABLE dede_channeltype; DROP TABLE dede_co_htmls; DROP TABLE dede_co_mediaurls; DROP TABLE dede_co_note; DROP TABLE dede_co_onepage; DROP TABLE dede_co_urls; DROP TABLE dede_diy_guestbook; DROP TABLE dede_diyform1; DROP TABLE dede_diyforms; DROP TABLE dede_dl_log; DROP TABLE dede_downloads; DROP TABLE dede_erradd; DROP TABLE dede_feedback; DROP TABLE dede_flink; DROP TABLE dede_flinktype; DROP TABLE dede_freelist; DROP TABLE dede_homepageset; DROP TABLE dede_keywords; DROP TABLE dede_log; DROP TABLE dede_member; DROP TABLE dede_member_company; DROP TABLE dede_member_feed; DROP TABLE dede_member_flink; DROP TABLE dede_member_friends; DROP TABLE dede_member_group; DROP TABLE dede_member_guestbook; DROP TABLE dede_member_model; DROP TABLE dede_member_msg; DROP TABLE dede_member_operation; DROP TABLE dede_member_person; DROP TABLE dede_member_pms; DROP TABLE dede_member_snsmsg; DROP TABLE dede_member_space; DROP TABLE dede_member_stow; DROP TABLE dede_member_stowtype; DROP TABLE dede_member_tj; DROP TABLE dede_member_type; DROP TABLE dede_member_vhistory; DROP TABLE dede_moneycard_record; DROP TABLE dede_moneycard_type; DROP TABLE dede_mtypes; DROP TABLE dede_multiserv_config; DROP TABLE dede_myad; DROP TABLE dede_myadtype; DROP TABLE dede_mytag; DROP TABLE dede_payment; DROP TABLE dede_plus; DROP TABLE dede_purview; DROP TABLE dede_pwd_tmp; DROP TABLE dede_ratings; DROP TABLE dede_scores; DROP TABLE dede_search_cache; DROP TABLE dede_search_keywords; DROP TABLE dede_sgpage; DROP TABLE dede_shops_delivery; DROP TABLE dede_shops_orders; DROP TABLE dede_shops_products; DROP TABLE dede_shops_userinfo; DROP TABLE dede_softconfig; DROP TABLE dede_sphinx; DROP TABLE dede_stepselect; DROP TABLE dede_sys_enum; DROP TABLE dede_sys_module; DROP TABLE dede_sys_set; DROP TABLE dede_sys_task; DROP TABLE dede_sysconfig; DROP TABLE dede_tagindex; DROP TABLE dede_taglist; DROP TABLE dede_uploads; DROP TABLE dede_verifies; DROP TABLE dede_vote; DROP TABLE dede_vote_member;
我们只需要把第一行去掉,就可以直接在mysql里面执行,一秒删除所有表,如果需要保留几个表删除相应的行就可以实现。
转载于:https://blog.51cto.com/shevastar/2164349