Я не согласен с этим, номер телефона называется номером по причине, он содержит только цифры. То, как вы представляете номер пользователю, не имеет отношения к тому, как вы сохраняете его в базе данных, которая должна содержать только данные, а не символы формата.

у хранить год в таблице MySQL: лучше ли хранить это как smallint или varchar? Я полагаю, что, поскольку это не полная дата, формат даты не должен быть ответом, но я также включу это.

Smallint? VARCHAR (4)? свидание? что-то другое?

Примеры:

2008

1992

2053