有时候我们需要清库里的表,直接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里面执行,一秒删除所有表,如果需要保留几个表删除相应的行就可以实现。