Для длинных строк, т.е. строк длиннее 255 символов, в MySQL предусмотрены типы BLOB (Binary Large Object, большой двоичный объект) и TEXT. Причем каждый из них имеет различные подтипы в зависимости от размера хранимых данных. Эти типы, предназначенные для хранения данных большого объема, могут очень пригодиться для хранения больших текстовых блоков и массивов двоичных данных таких, как изображение или аудио-файлы.
Типы BLOB и TEXT отличаются друг от друга по тому, как они сортируются и сравниваются: значения, хранящиеся в типе BLOB чувствительны к регистру, в то время как значения, хранящиеся в типе TEXT, не "видят" разницы между представлением текста в различных регистрах. Не скажешь лучше, чем сказано в руководстве по MySQL: "тип TEXT является нечувствительной к регистру разновидностью типа BLOB"1.
Спецификаторы размера с различными подтипами BLOB и TEXT не используются. Значения, превышающие максимальный для данного типа объем, автоматически усекаются.
Когда размер имеет значение
Процессор MySQL иногда автоматически (и абсолютно "молча") меняет типы полей CHAR и VARCHAR для того, чтобы добиться повышения эффективности и производительности. Вот два возможных типа преобразования.
• Тип поля VARCHAR, имеющий максимальную длину поля меньше 4-х символов, ав­томатически преобразуется в тип CHAR.
• Тип поля CHAR, имеющий минимальную длину поля 3 символа в записях с хотя бы одним таким полем переменной длины, как VARCHAR, TEXT или BLOB, автоматически преобразуется в тип поля VARCHAR. 

Календарные типы данных
MySQL имеет в своем арсенале пять различных типов данных, предназначенных для хранения календарных и временных данных, их можно классифицировать как простые типы, предназначенные для хранения только дат и времени, и как более сложные типы, предназначенные для хранения гибридных календарных данных. Для всех этих категорий предусмотрены подтипы, различающиеся по точности хранимых данных. Кроме того, СУБД MySQL оснащена минимальным интеллектом, предназначенным для распознавания и преобразования различных форматов для простоты использования и обработки данных.
В табл. 5.3 приведен перечень различных типов данных для хранения дат и времени, вместе с допустимыми для них диапазонами и форматами.
Типы TEXT и BLOB
Типы DATE, TIME и YEAR
Возможности MySQL позволяют представлять простые даты с помощью типов DATE и YEAR, а временные значения с помощью типа TIME. Эти значения могут быть представлены строками или последовательностями неразделенных целых чисел, при задании в виде строк значения типа DATE должны разделяться разделителями тире "- ", а значения типа TIME должны разделяться разделителями двоеточие ":".
Следующие примеры демонстрируют эти типы в работе.
Типы TEXT и BLOB
Типы TEXT и BLOB
Типы TEXT и BLOB
MySQL также выполняет этот тип подбора двух цифровых значений в компоненте, задающей значение года в дате и используемой для обозначения полей из двух цифр, объявленных с типом YEAR. Так как значения типа YEAR должны храниться с использованием четырех цифр, MySQL делает попытку преобразовать обозначения года, состоящие из двух цифр, в обозначения, состоящие из четырех цифр, опираясь на цифровые диапазоны значений. Значения из диапазона 00 - 69 преобразуются в 2000 - 2069, а значения из диапазона 70 - 99 преобразуются в 1970 - 1999. Это показано в следующем примере.
Типы TEXT и BLOB
Если в результате такого преобразования вы не получаете то, что вам требуется, в своей работе следует использовать четырехцифровое представление года, с тем чтобы MySQL не делал попыток использовать преобразование дат такого рода.