La solución de zerkms no funcionó para mí. Tuve que especificar el information_schema
base de datos para poder consultar las Tables
mesa.
SELECT
CONCAT('RENAME TABLE ', GROUP_CONCAT('`', TABLE_SCHEMA, '`.`', TABLE_NAME, '` TO `', TABLE_SCHEMA, '`.`prefix_', TABLE_NAME, '`')) AS q
FROM
`information_schema`.`Tables` WHERE TABLE_SCHEMA='test';
Editar:
Optimicé la consulta para llamar a RENAME TABLE solo una vez. Algo en lo que me encontré fue el hecho de que la salida concatenada se truncó en 341 caracteres. Esto se puede resolver (si su servidor lo permite) configurando la variable MySQL group_concat_max_len
a un valor más alto:
SET group_concat_max_len = 3072; -- UTF8 assumes each character will take 3 bytes, so 3072/3 = 1024 characters.