Когда вы говорите «переупорядочить» эти столбцы, вы имеете в виду, что вы хотите, чтобы некоторые из фамилий оказались в столбце первого имени? Или вы хотите сказать, что некоторые фамилии должны ассоциироваться с другим именем и городом?
Я подозреваю, что вы имеете в виду последнее, и в этом случае вам может быть проще найти программное решение (в отличие от простого решения SQL). Придерживаясь SQL, вы можете сделать что-то вроде:
UPDATE the_table
SET lastname = (SELECT lastname FROM the_table ORDER BY RAND())
В зависимости от того, какую СУБД вы используете, это может работать только для одной строки, может делать все последние имена одинаковыми или может потребовать некоторого изменения синтаксиса для работы вообще, но основной подход - правильный. Конечно, некоторые испытания для копии таблицы являются оправданными, прежде чем испытывать их на реальной вещи.
Конечно, чтобы случайным образом изменить имена и города, вы можете применить аналогичный запрос к любому из этих столбцов. (Применение его ко всем трем не имеет большого смысла, но не повредит.)
Поскольку вы не хотите изменять исходные данные, вы можете сделать это во временной таблице, заполненной всеми строками.
Наконец, если вам просто нужно одно случайное значение из каждого столбца, вы можете сделать это на месте, не создавая копию данных, с тремя отдельными запросами: один для выбора случайного имени, один для случайной фамилии, и последний случайный номер телефона.