方法1:重建库和表
一。只导出表结构
导出整个数据库结构(不包含数据)
mysqldump -h localhost -uroot -p123456 -d database > dumpsql
导出单个数据表结构(不包含数据)
mysqldump -h localhost -uroot -p123456 -d database table > dumpsql
二。只导出表数据
导出整个数据库数据
mysqldump -h localhost -uroot -p123456 -t database > dumpsql
三。导出结构+数据
导出整个数据库结构和数据
mysqldump -h localhost -uroot -p123456 database > dumpsql
导出单个数据表结构和数据
mysqldump -h localhost -uroot -p123456 database table > dumpsql
方法2:生成清空所有表的SQL
mysql -N -s information_schema -e "SELECT CONCAT('TRUNCATE TABLE ',TABLE_NAME,';') FROM TABLES WHERE TABLE_SCHEMA='eab12'"
输出结果如下:
TRUNCATE TABLE AUTHGROUPBINDINGS;
TRUNCATE TABLE AUTHGROUPS;
TRUNCATE TABLE AUTHUSERS;
TRUNCATE TABLE CORPBADCUSTOMINFO;
TRUNCATE TABLE CORPSMSBLACKLISYInfo;
TRUNCATE TABLE CORPSMSFILTERINFO;
TRUNCATE TABLE CORPSMSINFO;
TRUNCATE TABLE EABASEREGINFOS;
TRUNCATE TABLE EACORPBLOB;
TRUNCATE TABLE EACORPINFO;
这样就更完善了:
mysql -N -s information_schema -e "SELECT CONCAT('TRUNCATE TABLE ',TABLE_NAME,';') FROM TABLES WHERE TABLE_SCHEMA='eab12'" | mysql eab12
即清空eab12中所有的表。
但是如果有外键的话,很可能会报错。因此还需要加个-f
mysql -N -s information_schema -e "SELECT CONCAT('TRUNCATE TABLE ',TABLE_NAME,';') FROM TABLES WHERE TABLE_SCHEMA='eab12'" | mysql -f eab12
多执行几次,直到不报错。
以上就是Mysql清空表的实现方法。
您好,提问者:
1
2
3
4
5
-- 清空全部数据,不写日志,不可恢复,速度极快
truncate table 表名;
-- 清空全部数据,写日志,数据可恢复,速度慢
delete from 表名
清空单表可以truncate
清空某个库下的所有表时,可以考虑导出这张表,以导出表结构的方式,把该库下所有的表结构导出来,再删库,导回去就好了
mysqldump
-d
参数是只导结构,不导数据的
以上就是关于mysql 怎样清空一个数据库中的所有表全部的内容,包括:mysql 怎样清空一个数据库中的所有表、如何一键清空数据库、mysql数据库怎么定时清空指定表的所有数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)