ТОП-10 популярных


НОУТБУК с блестящим экраном
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...


Для работы с вещественными числами в MySQL предусмотрено три типа данных - это типы FLOAT, DOUBLE, DECIMAL. Числовой тип FLOAT...

Магнито-оптический дисковод DynaMO
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...

БОЛЬШЕ БОЛЬШИХ LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...

Больше больших LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...


Какую только информацию мы не помещаем на компакт-диски: резервные копии важных данных, музыку, фильмы... Многие полагают, что главное - «купить...

Иди и пиши. TravelMate C100
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...

Размер объему не помеха.
С тех пор как компания Fujitsu отказалась от производства жестких дисков для настольных компьютеров, многие пользователи начали забывать о том,...

ПОД ЛИТЕРОЙ «N»
Aтаку LCD-мониторов не остановить, а масштабы этого наступления даже немного пугают. Судите сами — многие пользователи только начинают приглядываться к новому для...

Internet2, или cтарые песни о новом
Когда-то на заре Интернета, тогдаеще военно-научной сетиAPRAnet, были заложены основныепринципы функционирования«Сети сетей». В их числе — использованиепротокола, называемого сейчасIPv4. В...

Все о MySQL. Типы данных MySQL. Продолжение.


28-12-2009

Из предыдущей главы вы узнали, что поля таблицы имеют ассоциированный с ним тип. Типом определяется тип данных, которые может хранить данное поле и помогает обеспечить целостность и непротиворечивость таблицы. MySQL имеет в своем арсенале достаточно широкий диапазон типов данных, которые можно классифицировать по следующим четырем общим категориям:
■ числовые типы;
■ строковые типы;
■ календарные типы;
■ сложные типы.
В следующем разделе все эти типы будут рассмотрены детально.
Числовые типы
Числовые типы MySQL в широком смысле можно разбить на две категории: целые числа и числа с плавающей точкой, или вещественные числа. В каждой их этих категорий имеется множество подтипов, каждый из которых может хранить данные различных размеров, кроме того, синтаксис MySQL позволяет определять, могут ли значения в цифровых полях иметь знак или дополняться нулями слева.
В табл. 5.1 представлены различные числовые типы данных и объем памяти, который отводится под каждый из них.
Типы данных MySQL
Тип INT
Пятью основными целыми типами, поддерживаемыми MySQL, являются TINYINT, SMALLINT, MEDIUMINT, INT, BIGINT. Эти типы во многом подобны, отличаясь друг от друга диапазоном значений, которые они могут хранить. Рассмотрим следующий пример, в котором продемонстрирована их работа: 
Типы данных MySQL
MySQL поддерживает дополнение к стандарту SQL в виде необязательной спецификации длины, что позволяет дополнять значения до указанной длины при выборке значений из базы данных. Например, выборка полей, объявленных как INT(6), обеспечивает то, что значения, имеющие меньше 6 цифр, автоматически дополняются пробелами. Это показано в следующем примере.
Типы данных MySQL
Что у нас с нулями?
Не видите дополнения пробелами? Попробуйте воспользоваться специальным мо­дификатором ZEROFILL, который обсуждается ниже во врезке "Игры с цифрами".

Следует заметить, что использование спецификатора длины не влияет на размеры поля и диапазон сохраняемых им значений.
При попытке сохранить число, выходящее за пределы допустимого для данного типа диапазона, MySQL усечет его до ближнего значения, входящего в диапазон значений и сохранит в поле усеченное значение. Рассмотрим следующий пример, который демонстрирует попытку сохранить слишком большое значение в поле типа TINYINT. 
Типы данных MySQL
Игры с цифрами
Не знаете, каким образом вычислены диапазоны чисел? Это довольно просто - достаточно воспользоваться формулой от (2Л(п-1))*-1 до (2Л(п-1))-1 для знаковых диапазонов и от 0 до (2Лп)-1 для беззнаковых диапазонов, где п - размер в битах. Таким образом, вычисляя диапазон для типа INT, который является 4-байтовым (т.е. 32-х битовым) типом, по этой формуле получим:
от (2Л(п-1))*-1до (2Л(п-1))-1 = от-2147483648 до 2147483647
для знакового диапазона и
от 0 до (2Л32)-1 = от 0 до 4294967295
для беззнакового диапазона.
Кроме того, MySQL автоматически преобразует недопустимые значения в ноль перед вставкой в таблицу. Следующий пример демонстрирует попытку вставки строки в поле типа INT:
Типы данных MySQL
Объявление целых типов может сопровождаться одним или сразу двумя модификаторами, которые могут повлиять на их хранение и отображение.
■ Модификатор UNSIGNED задает хранение в поле только положительных значений, что увеличивает диапазон хранимых данным полем значений. ■ Модификатор ZEROFILL задает заполнение поля нулями (а не пробелами) при его выводе. Заметим, что применение этого модификатора предотвращает сохранение отрицательных значений.
Рассмотрим применение этих модификаторов на практике.
Типы данных MySQL

Понравился материал? Поделитесь с друзьями!



<< Предыдущая статьяСледующая статья >>
Все о MySQL. Типы данных MySQL Все о MySQL. Типы FLOAT, DOUBLE, DECIMAL