Поскольку вопрос о трансформации имеющихся данных - то индивидуально для каждой задачи.
Начать необходимо вот отсюда:
https://habrahabr.ru/post/146901/
И, собственно, придти к выводу, что лучше оставить как есть в одном поле. Если в каких-то местах нужны другие формы обращений - прописать их явно, а не конструируя по имеющимся заблуждениям о фио.
А так:
0) делается дополнительный бекап
1) выкатывается alter table добавляющий новый поля
2) выкатывается приложение, умеющее писать синхронно старую и новую структуру, но читающее только старую
3) отдельным процессом в цикле небольшими частями преобразуются данные - это если подлежит автоматической обработке
4) выкатывается приложение использующее только новую структуру
5) архивируется и удаляется исходная структура
Для всего-то тысячи записей может проще будет залочить табличку на несколько секунд.
Если тривиальной автоматике обработка не подлежит, то часто вместо 3 пункта делают выгрузку primary key, source_data, как-нибудь изменяют и готовят csv primary key, source_data, new_data, копируют в temporary table, затем делают слияние мультитабличным update этих двух таблиц с recheck'ом по source_data. Затем выгружают данные для которых не было обновления, разбираются, ещё раз обновляют и т.д. до заполнения всего.