13.09.2024
Перечисленные типы играют весомую роль в хранении строк и бинарных данных. Посмотрим на основные, затронем их характеристики и случаи использования.
CHAR(<количество символов>)
Применяется для хранения строк фиксированной длины. Если символов в строке меньше чем указано, то она дополняется пробелами до конца.
- Диапазон значений - от 0 до 255 символов.
- Хранение - занимает точное количество памяти. CHAR(10) всегда займет 10 байт, даже если строка короче.
- Когда использовать - для каких-нибудь кодов стран, статусов (Y/N), пол человека (м/ж) и тд.
VARCHAR(<количество символов>)
Здесь предназначение в другом. Строки могут быть переменной длины и они не дополняются пробелами до конца.
- Диапазон значений - от 0 до 65 535 символов.
- Хранение - занимает только необходимое количество байт + несколько дополнительных для информации о длине.
- Когда использовать - все остальное, где длина строк варьируется.
BINARY(<количество байт>)
Фиксированный тип данных для бинарных строк. Если длина меньше установленной, то дополняется нулевыми байтами до конца, как и CHAR.
- Когда использовать - данные фиксированной длины, например, хеши.
VARBINARY(<количество байт>)
Для бинарных строк переменчивой длины. Также не добавляет нулевые байты в конец.
- Когда использовать - изображения можно хранить, потому что у них размеры могут меняться.
BLOB
Используется для хранения больших бинарных данных, читай изображения или видео.
TEXT
Предназначен для больших текстовых данных. Длинные тексты, статьи, описания и прочая лабуда.
Подведем черту
Выбор зависит от специфики данных в вашей БД. Скорее всего я что-то упустил и не увидел, но в целом, этой информации для общего представления уже хватит, чтобы собрать первые таблицы.