首页 > 解决方案 > 从所有表中删除数据,但在 MySQL 中保留一张表的数据

问题描述

我需要从所有表中删除数据,但我的数据库中只有一个表。假设调用了数据库,调用my_database了应该保存数据的表my_important_table,那么有什么方法可以实现呢?

标签: mysql

解决方案


由于这些问题,我能够弄清楚这个问题:

以下命令对我来说正常工作:

mysql -u root -p -Nse "SHOW TABLES WHERE \`Tables_in_my_database\` != 'my_important_table'" my_database | while read table; do echo "SET FOREIGN_KEY_CHECKS = 0; truncate table $table;"; done | mysql -u root -p my_database

下面的命令与上一个命令相同,但我将其拆分为多行以提高可视化效果。

mysql -u root -p -Nse "SHOW TABLES WHERE \`Tables_in_my_database\` != 'my_important_table'" my_database | \
while read table; do echo "SET FOREIGN_KEY_CHECKS = 0; truncate table $table;"; done | \
mysql -u root -p my_database

推荐阅读