No haría esto en MySQL sin la ayuda externa de una aplicación escrita en Python.
Hay varios requisitos integrados en su declaración que se expresan mejor en un estilo de procedimiento. SQL es un lenguaje basado en conjuntos; No creo que se preste tan bien a la tarea en cuestión.
Querrá que una aplicación tome datos de una fuente, haga cualquier aleatorización y eliminación de PII que necesite, y luego construya los datos de prueba de acuerdo con sus requisitos.
Si se trata de una base de datos destinada solo para la prueba, puede considerar una base de datos en memoria que pueda completar, modificar todo lo que quiera y luego volar para su próxima prueba. Estoy pensando en algo como Hypersonic o Derby o TimesTen.