mysql 怎样清空一个数据库中的所有表

mysql 怎样清空一个数据库中的所有表,第1张

方法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数据库怎么定时清空指定表的所有数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9458302.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存