Вот и учебой запахло, стал подгонять хвосты, пишу наипростейшую систему управления сайтом PHP+MyQSL. Уметь делать странички и хранить их в базе данных. Про то что ничего сложно сдесь нет писать не стоит, но когда дошло дело до создания табличек в phpMyAdmin что то я затупил в типах для столбцев с данными. Тут я конечно подумал что можно попробовать зафигачить все поля как TEXT … но все же решил разобраться и сконструировал в том числе и для себя простую схемку:
Я хочу хранить идентификатор страницы или материала, я знаю что страниц или метерьялов будет много
Поэтому лучше всего использовать тип данных INT Диапазон от -2 147 483 648 до 2 147 483 647, мне вполне хватит для того что бы типа экономить ресурсы и почтить теорию БД можно использовать SMALLINT с диапазоном от -32 768 до 32 767, я даже скорей всего так и поступлю.

Вообще есть еще TINYINT от -128 до 127, что для меня явно мало. MEDIUMINT с диапазоном от -8 388 608 до 8 388 607 что многовато и BIGINT от -9 223 372 036 854 775 808 до 9 223 372 036 854 775 807

Значит с числами вроде разобрался, теперь строки текст бывает разный и сразу приведу таблицу
VARCHAR Может хранить не более 255 символов.
TINYTEXT Может хранить не более 255 символов.
TEXT Может хранить не более 65 535 символов.
MEDIUMTEXT Может хранить не более 16 777 215 символов.
LONGTEXT Может хранить не более 4 294 967 295 символов.
Что бы хранить заголовки, имена авторов, ключевые слова и прочие штучки проще всего использовать VARCHAR, в большинстве случаев его хватит. Для Текстов побольше буду использовать TEXT или MEDIUMTEXT.
Бинарные данные и что нибудь с запятой я хранить не планирую, посему и выбирать по типам нечего. На всякий случай упомню DATE в этом типе можно хранить дату в формате ГГГГ-ММ-ДД