Solo per aggiungere alla risposta di cui sopra, MySQL restituisce un errore ERROR 1046 (3D000): No database selected
se nessun database è selezionato prima di iniziare la procedura. Quindi anteponi questa affermazione use <<db_name>>;
alla risposta di cui sopra. La soluzione potrebbe essere rivisto:
use <<db_name>>;
DELIMITER $$
CREATE PROCEDURE drop_tables_like(pattern VARCHAR(255), db VARCHAR(255))
BEGIN
SELECT @str_sql:=CONCAT('drop table ', GROUP_CONCAT(table_name))
FROM information_schema.tables
WHERE table_schema=db AND table_name LIKE pattern;
PREPARE stmt from @str_sql;
EXECUTE stmt;
DROP prepare stmt;
END$$
DELIMITER ;
CALL drop_tables_like('a%', '<<db_name>>');
Assicurarsi di sostituire <> con il nome effettivo del database. Saluti!
Forse controllare questo post: http://stackoverflow.com/questions/1589278/sql-deleting-tables-with-prefix –