Mysql清空表是很重要的操作,也是常见的操作之一,下面为您详细介绍Mysql清空表的实现方法,希望能够对您有所帮助。
  方法1:重建库和表
  一、只导出表结构
  导出整个数据库结构(不包含数据)
  mysqldump -h localhost -uroot -p123456  -d database > dump.sql
  导出单个数据表结构(不包含数据)
  mysqldump -h localhost -uroot -p123456  -d database table > dump.sql
  二、只导出表数据
  导出整个数据库数据
  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清空表的实现方法。