Типы данных: строки CHAR, VARCHAR онлайн урок.


Строковые типы данных в MySQL - это CHARи VARCHAR. При этом после ключевого слова указывается длина строки (до 255 включительно). Но использование этой длины для CHARи VARCHARотличается.

CHAR (M) - строки фиксированной длины M. Это означает, что длина строк должна быть ровно M символов. Если требуется сохранить строку, которая меньше чем M символов в длину, то строка дополняется пробелами до нужной длины. При извлечении строки из БД эти пробелы удаляются (т.е. они используются лишь для сохранения строки). При превышении длины строки, она урезается до указанного размера. Рассмотрим примеры сохранения различных строк для CHAR (5):

  • Строка 'abc' : 'abc  '

  • Строка '12345' : '12345'

  • Пустая строка : ' '

  • Строка 'tt' : 'tt '

  • Строка '1234567' : '12345'


VARCHAR (M) - строки переменной длины - не больше чем M. Это означает что длина строк не должна превышать M символов. Также, в памяти сохраняется и длина строки - она занимает 1 байт. При превышении длины строки, она урезается до указанного размера.

Замечание. Если заведомо известно, что хранимые значения строк будут одинаковой длины, то желательно использовать CHAR, поскольку тогда объем памяти, необходимый для сохранения будет меньшим на 1 байт по сравнению с VARCHAR.