Для длинных строк, т.е. строк длиннее 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 приведен перечень различных типов данных для хранения дат и времени, вместе с допустимыми для них диапазонами и форматами.
Типы DATE, TIME и YEAR
Возможности MySQL позволяют представлять простые даты с помощью типов DATE и YEAR, а временные значения с помощью типа TIME. Эти значения могут быть представлены строками или последовательностями неразделенных целых чисел, при задании в виде строк значения типа DATE должны разделяться разделителями тире "- ", а значения типа TIME должны разделяться разделителями двоеточие ":".
Следующие примеры демонстрируют эти типы в работе.
MySQL также выполняет этот тип подбора двух цифровых значений в компоненте, задающей значение года в дате и используемой для обозначения полей из двух цифр, объявленных с типом YEAR. Так как значения типа YEAR должны храниться с использованием четырех цифр, MySQL делает попытку преобразовать обозначения года, состоящие из двух цифр, в обозначения, состоящие из четырех цифр, опираясь на цифровые диапазоны значений. Значения из диапазона 00 - 69 преобразуются в 2000 - 2069, а значения из диапазона 70 - 99 преобразуются в 1970 - 1999. Это показано в следующем примере.
Если в результате такого преобразования вы не получаете то, что вам требуется, в своей работе следует использовать четырехцифровое представление года, с тем чтобы MySQL не делал попыток использовать преобразование дат такого рода.
ТОП-10 популярных
Для работы с вещественными числами в MySQL предусмотрено три типа данных - это типы FLOAT, DOUBLE, DECIMAL. Числовой тип FLOAT...
БОЛЬШЕ БОЛЬШИХ LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Больше больших LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
НОУТБУК с блестящим экраном
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...
Иди и пиши. TravelMate C100
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...
Магнито-оптический дисковод DynaMO
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...
Компьютер для гурманов.«Эксимер ДМ»
Российская компания «Эксимер ДМ», известная как производитель настольных компьютеров, рабочих станций, серверов и ноутбуков, выступила техническим спонсором проведения торжеств, посвященных...
Российская компания «Эксимер ДМ», известная как производитель настольных компьютеров, рабочих станций, серверов и ноутбуков, выступила техническим спонсором проведения торжеств, посвященных...
Для длинных строк, т.е. строк длиннее 255 символов, в MySQL предусмотрены типы BLOB (Binary Large Object, большой двоичный объект) и...
В дополнение к календарным типам, предназначенным для хранения даты и времени отдельно, MySQL также поддерживает гибридные типы данных DATETIME и...
Вообще, к изменению настроек сервера прибегают очень редко. В MySQL программа заранее настроена так, чтобы соответствовать самым распространенным и основным...
Все о MySQL. Типы TEXT и BLOB
28-12-2009
<< Предыдущая статья | Следующая статья >> |
Все о MySQL. Типы FLOAT, DOUBLE, DECIMAL | Все о MySQL. Типы DATETIME и TIMESTAMP |