Отчасти это зависит от вашей СУБД. Некоторые, например MySQL 5, заботятся о длине столбца VARCHAR (n), а не столбца TEXT неограниченной длины; другие, такие как PostgreSQL, считают TEXT и VARCHAR (n) внутренне идентичными, за исключением того, что длина проверяется в столбцах VARCHAR (n). Написание чего-то вроде VARCHAR (65536) в PostgreSQL глупо; если вы хотите столбец неограниченной длины, выберите ТЕКСТ и покончите с этим.
Конечно, иногда попытка сохранить слишком длинное значение может нарушить ваш макет или позволить кому-либо злоупотреблять системой, выбрав длинное имя без пробелов (например). Обычно, что я делаю для таких полей имени пользователя, просто выбираю верхнюю длину, чтобы любой, кто хочет более длинное имя пользователя, пытался вызвать проблемы; 64 символа - это хорошее круглое значение и, кажется, работает хорошо. Для реальных имен и адресов (которые не часто отображаются пользователям, как имя пользователя), вы захотите пойти с чем-то более длинным. Вы хотите, чтобы значение было достаточно большим, чтобы оно могло принимать любой допустимый ввод, но не настолько большим, чтобы кто-то мог вставить строку длиной в гигабайт в поле просто для атаки на вашу систему. 1024 символа вполне разумно: 1k - достаточно небольшой объем текста, с которым легко работать, круглое число и больше, чем любая здравомыслящая адресная строка или имя.
Адреса электронной почты могут, согласно соответствующему RFC, чей номер мне лень искать сейчас, быть не длиннее 320 символов. Итак, у вас есть длина поля электронной почты. Оказывается, SMTP ограничивает длину полей 256 символами; поскольку адреса электронной почты должны быть заключены в квадратные скобки, самый длинный действительный адрес электронной почты на самом деле составляет 254 символа. ( Эта страница более подробно описана.) Итак, есть длина вашего поля электронной почты.
Пароли должны НИКОГДА храниться в виде открытого текста, поэтому ваше поле пароля должно быть байтовым массивом или типом BLOB, достаточно длинным, чтобы хранить выходные данные используемой вами хэш-функции ( или самый большой элемент криптографической группы в использовании, для более продвинутых схем, таких как SRP-6a).