Nie zrobiłbym tego w MySQL bez pomocy z zewnątrz aplikacji napisanej w Pythonie.
Istnieje kilka wymagań wbudowanych w Twoje oświadczenie, które najlepiej wyrazić w stylu proceduralnym. SQL jest językiem opartym na zbiorach; Nie wydaje mi się, żeby było to tak dobrze dopasowane do danego zadania.
Będziesz chciał, aby aplikacja pobierała dane ze źródła, dokonywała dowolnej randomizacji i usuwania danych osobowych, a następnie konstruowała dane testowe zgodnie z Twoimi wymaganiami.
Jeśli jest to baza danych przeznaczona tylko do testów, możesz rozważyć bazę danych w pamięci, którą możesz zapełnić, zmodyfikować wszystko, co chcesz, a następnie przepuścić do następnego testu. Myślę o czymś takim jak Hypersonic, Derby lub TimesTen.