I have 100 tables in my database, I want to keep one only.
I tried something like below query:
DROP ALL TABLES EXCEPT my_table
But that doesn't seem to exist. any idea?
You can build a DROP TABLE statement with multiple listed tables, and run the query using MySQL prepared statements -
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;
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With