步遥情感网
您的当前位置:首页mysql 怎样清空一个数据库中的所有表_mysql 怎样清空一个数据库中的所有表

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

来源:步遥情感网

[近来发现数据库过大,空间不足,因此打算将数据库的数据进行全面的清理,但表非常多,一张一张的清空,实在麻烦,因此就想利用SQL语句一次清空所有数据.找到了三种方法进行清空.

Mysql清空表是很重要的操作,也是最常见的操作之一,下面就为您详细介绍Mysql清空表的实现方法,希望能够对您有所帮助。

方法1:重建库和表

一。只导出表结构

导出整个数据库结构(不包含数据)

mysqldump -h localhost -uroot -p123456  -d database > dump.sql

导出单个数据表结构(不包含数据)

mysqldump -h localhost -uroot -p123456  -d database table > dump.sql

二。只导出表数据[mysql数据库中有张表information_schema.columns;它记录了所有表的列的信息;select column_name from information_schema.columns  where table_name='***';上代码:Mic

导出整个数据库数据

mysqldump -h localhost -uroot -p123456  -t database > dump.sql

三。导出结构+数据

导出整个数据库结构和数据

mysqldump -h localhost -uroot -p123456 database > dump.sql

导出单个数据表结构和数据

mysqldump -h localhost -uroot -p123456  database table > dump.sql

方法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清空表的实现方法。[对查询 select distinct product0_.id as id62_........................................................ from t_product product0_, t_product_catagory productc

因篇幅问题不能全部显示,请点此查看更多更全内容