Ik zou dit niet doen in MySQL zonder hulp van buitenaf van een applicatie die is geschreven in Python.
Er zijn verschillende vereisten ingebouwd in uw verklaring die het best kunnen worden uitgedrukt in een procedurele stijl. SQL is een set-gebaseerde taal; Ik denk dat het zich niet zo goed leent voor de taak die voorhanden is.
U wilt dat een toepassing gegevens van een bron opneemt, willekeurige randomisatie en PII-verwijdering uitvoert die u nodig heeft, en vervolgens de testgegevens construeert volgens uw vereisten.
Als het een database is die alleen bedoeld is om te testen, zou je een in-memory database kunnen overwegen die je kunt vullen, wijzigen wat je wilt, en dan wegblazen voor je volgende test. Ik denk aan iets als Hypersonic of Derby of TimesTen.