Если вы резко измените какие-либо типы данных столбцов, например, измените VARCHAR на INT, СУБД будет паниковать, и вы, вероятно, потеряете эти данные. К счастью, в настоящее время СУБД достаточно умны, чтобы выполнять некоторые преобразования типов данных без потери данных, но вы не хотите подвергаться риску их повреждения при внесении изменений.
Вы не должны терять какие-либо данные, переименовывая столбцы, и определенно не будете добавлять новые столбцы, это когда вы перемещаете данные, о которых вы должны беспокоиться.
Во-первых, сделайте резервную копию всей таблицы, как схемы, так и данных, так что, как только вы заметите, вы сможете вернуться к предыдущей схеме. Во-вторых, посмотрите на изменения, которые вы пытаетесь внести, посмотрите, насколько они радикальны - попытайтесь точно определить, что нужно изменить. Если вы выполняете преобразования типов данных, сначала поместите эти данные в таблицу промежуточных сообщений с 3 столбцами, внешним ключом (идентификатором или любым другим, чтобы вы могли найти строку), старыми данными и новым столбцом. Затем либо напрямую перенесите старые данные в новый столбец, либо преобразуйте их на уровне приложения.
Когда все в правильных типах и все прошло успешно, запустите операторы ALTER и снова заполните базу данных! Это достаточно просто сделать, просто нужен логический мыслительный процесс.