MySQL 5.0. Библиотека программиста - страница 35

Шрифт
Интервал


Завершая изучение типов данных, рассмотрим символьные типы.

Столбцам, которые будут содержать текст, можно присвоить один из следующих типов данных.

• CHAR(<Количество символов>) или NATIONAL CHAR(<Количество символов>).

Символьная строка фиксированной длины. В таком столбце всегда хранится указанное количество символов, при необходимости значение дополняется справа пробелами. Вы можете задать количество символов от 0 до 255. Если количество символов не задано, используется длина строки по умолчанию – 1 символ.

Тип данных NATIONAL CHAR отличается от CHAR тем, что для столбцов с типом NATIONAL CHAR используется кодировка UTF-8, в то время как для столбцов с типом CHAR можно указать любую кодировку, поддерживаемую MySQL.

• VARCHAR(<Максимальное количество символов>) или NATIONAL VARCHAR(<Максимальное количество символов>).

Символьная строка переменной длины, содержащая не более указанного количества символов. Вы можете указать максимальное количество символов от 0 до 65 535, но не более 65 535 байтов в сумме для всех столбцов таблицы с типом CHAR, VARCHAR, BINARY или VARBINARY. Таким образом, если во всей таблице вы используете однобайтовую кодировку (где каждому символу соответствует 1 байт, например кодировку KOI8-R, CP-866 или CP-1251), то суммарное количество символов, указанное при описании этих столбцов, не должно превышать 65 535. Если же вы используете кодировку UTF-8 (для которой сервер MySQL выделяет до 3 байтов на символ), то суммарное количество символов, указанное при описании этих столбцов, не должно превышать 21 844 (в три раза меньше, чем для однобайтовых кодировок).

Тип данных NATIONAL VARCHAR отличается от VARCHAR тем, что для столбцов с типом NATIONAL VARCHAR используется кодировка UTF-8, в то время как для столбцов с типом VARCHAR можно указать любую кодировку, поддерживаемую MySQL.

• BINARY(<Количество байтов>)

Байтовая (бинарная) строка фиксированной длины. Этот тип аналогичен типу CHAR, только строка содержит не символы, а байты, и значение меньшей длины дополняется справа не пробелами, а нулевыми байтами.

• VARBINARY(<Максимальное количество байтов>)

Байтовая (бинарная) строка переменной длины. Этот тип аналогичен типу VARCHAR, только строка содержит не символы, а байты.

• TINYBLOB

Байтовая (бинарная) строка переменной длины. Максимальная длина – 255 байтов.