我的数据库中有 100 个表,我只想保留一个。
我尝试了类似下面的查询:
DROP ALL TABLES EXCEPT my_table
但这似乎并不存在。有什么想法吗?
最佳答案
您可以使用多个列出的表构建一个 DROP TABLE 语句,并使用 MySQL 准备语句运行查询 -
SET @tables = NULL;
SELECT GROUP_CONCAT(table_schema, '.', table_name) INTO @tables FROM information_schema.tables
WHERE table_schema = 'Database1' AND table_name <> 'my_table';
SET @tables = CONCAT('DROP TABLE ', @tables);
PREPARE stmt1 FROM @tables;
EXECUTE stmt1;
DEALLOCATE PREPARE stmt1;
关于mysql - 在 MySql 中删除除一个表之外的所有表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16251224/