какого числового типа нет в mysql
Типы данных MySQL. Чем руководствоваться при выборе типа данных
Опубликовано: 23 Апреля 2019
Выбирая тип данных для столбца, прежде всего стоит определить общий класс данных, который лучше использовать для столбца: числовые, строковые или временные;
Далее необходимо выбрать конкретный тип данных из представленных в классе. Многие типы данных MySQL позволяют хранить данные одного и тот же вида, но с разным диапазоном значений, точностью или требуемым физическим пространством (на диске или в памяти). Некоторые типы обладают специальным поведением или свойствами.
Например, в столбцах DATETIME и TIMESTAMP можно хранить один и тот же тип данных: дату и время, с точностью до секунды. Однако тип TIMESTAMP требует вдвое меньше места, позволяет работать с часовыми поясами и обладает специальными средствами автоматического обновления. С другой стороны, диапазон допустимых значений для него намного уже.
На что обратить внимание при выборе типа данных:
Скорость при соединении столбцов типа VARCHAR и ENUM:
Соединение VARCHAR с VARCHAR
Соединение VARCHAR с ENUM
Соединение ENUM с VARCHAR
Соединение ENUM с ENUM
В целях совместимости MySQL поддерживает различные псевдонимы, например INTEGER, BOOL — это псевдонимы (синонимы) одного и того же типа данных. Данный факт может сбить с толку, но не оказывает влияния на производительность.
Числовые типы
Хранение целых чисел
СУБД MySQL позволяет указывать для целых чисел «размер», например INT(11). Для большинства приложений это не имеет значения: диапазон возможных значений этим не ограничивается. Однако данный параметр говорит некоторым интерактивным инструментам MySQL, сколько позиций необходимо зарезервировать для вывода числа. С точки зрения хранения и вычисления INT(1) и INT(20) идентичны.
Знаковые и беззнаковые типы требуют одинакового пространства и обладают одинаковой производительностью.
Необязательный атрибут ZEROFILL заполнит нулями свободные позиции слева. Например с TINYINT(3) ZEROFILL, величина 2 будет записана, как 002.
Тип данных | Бит | По умолчанию | UNSIGNED |
---|---|---|---|
TINYINT | 8 | -128 — 127 | 0 — 255 |
SMALLINT | 16 | -32768 — 32767 | 0 — 65535 |
MEDIUMINT | 24 | -8388608 — 8388607 | 0 — 16777215 |
INT | 32 | -2147483648 — 2147483647 | 0 — 4294967295 |
BIGINT | 64 | -9223372036854775808 — 9223372036854775807 | 0 — 18446744073709551615 |
Хранение дробных чисел
Все типы допускают приближенные математические вычисления с плавающей точкой, но в случае с FLOAT и DOUBLE операции выполняются быстрее, так как процессор выполняет их естественным для него образом.
M — количество отводимых под число символов. D — количество символов дробной части.
Для типов с плавающей точкой можно указать максимально разрешенное количество цифр до и после десятичной запятой. В случае с DECIMAL это влияет на объем пространства, требуемого для хранения данных столбца. При указании точности, в некоторых случаях, MySQL незаметно для пользователя может выбирать другой тип данных или будет округлять значения при сохранении. Поэтому рекомендуют указывать желаемый тип, но не точность.
FLOAT и DOUBLE могут иметь параметр UNSIGNED, запрещающий отрицательные числа, но диапазон значений от этого не изменится.
Число типа DECIMAL в MySQL 5.0 и более новых версиях может содержать до 65 цифр. В более ранних версиях MySQL тип DECIMAL имел предел 254 цифры и хранил значения в виде неупакованных строк (один байт на цифру). Однако эти версии СУБД не умели использовать такие большие числа в вычислениях, поскольку тип DECIMAL был просто форматом хранения. При выполнении каких-либо операций значения DECIMAL преобразовывались в тип DOUBLE.
Строковые типы
В типах CHAR и VARCHAR строки рассматриваются как последовательности символов, поэтому, при использовании многобайтных кодировок, например UNICODE, размер строки в байтах будет больше, чем в символах.
При создании таблицы нельзя комбинировать столбцы типов CHAR и VARCHAR. Если такое произойдет, то MySQL изменит тип столбцов CHAR на тип VARCHAR.
Представим что строковый тип применяется для хранения значений Y и N. В случае использования CHAR(1) значение займет один байт, тогда как для типа VARCHAR(1) потребуется два байта из-за наличия дополнительного байта длины строки.
Значение | CHAR(4) | Требуется хранилище | VARCHAR(4) | Требуется хранилище |
---|---|---|---|---|
» | ‘ ‘ | 4 байта | » | 1 байт |
‘ab’ | ‘ab ‘ | 4 байта | ‘ab’ | 3 байта |
‘abcd’ | ‘abcd’ | 4 байта | ‘abcd’ | 5 байт |
‘abcdefgh’ | ‘abcd’ | 4 байта | ‘abcd’ | 5 байт |
Двоичные строки
Для совместимости со старыми версиями MySQL введены два специальных типа данных: BINARY и VARBINARY, которые эквивалентны типам CHAR и VARHAR, однако строка в них рассматривается как последовательность байтов, а не символов. К BINARY строкам не применимы кодировки и сортируются они как обычные последовательности байтов. Эти типы могут быть полезны, когда нужно сохранять двоичные данные, и вы хотите, чтобы MySQL сравнивал значение как байты, а не как символы. При этом, двоичное сравнение может оказаться значительно проще и быстрее символьного.
Текстовые и бинарные типы
Предназначены для хранения больших объемов двоичных или символьных данных.
MySQL обрабатывает значения BLOB и TEXT как отдельные объекты. Единственное различие между семействами BLOB и TEXT заключается в том, что типы BLOB хранят двоичные данные без учета схемы упорядочения и кодировки, а с типами TEXT ассоциированы схемы упорядочения и кодировка.
Семейство TEXT используется для хранения непосредственно текста:
Cемейство BLOB — для хранения изображений, звука, электронных документов и т.д.:
MySQL не может индексировать данные этих типов по полной длине и не может использовать для сортировки индексы.
Подсистема хранения Memory не поддерживает типы BLOB и TEXT.
Типы данных SQL
Типы данных SQL
Типы данных SQL разделяются на три группы:
— строковые;
— с плавающей точкой (дробные числа);
— целые числа, дата и время.
Типы данных MySQL
Типы данных MySQL разделяются на следующие типы:
Типы данных Oracle
Типы данных Oracle разделяются на следующие группы:
ANSI SQL стандарт распознает только текст и число, в то время как большинство коммерческих программ используют другие специальные типы, такие как DATЕ и TIME — фактически почти стандартные типы. Некоторые пакеты также поддерживают такие типы, как, например, MONEY и BINARY. Типы данных, распознаваемые с помощью ANSI, состоят из строк символов и различных типов чисел, которые могут классифицироваться как точные числа и приблизительные числа.
CHARACTER(length) определяет спецификацию строк символов, где length задает длину строк заданного типа. Значения этого типа должны быть заключены в одиночные кавычки. Большинство реализаций поддерживают строки переменной длины для типов данных VARCHAR и LONG VARCHAR (или просто LONG).
В то время, как поле типа CHAR всегда может распределить память для максимального числа символов, которое может сохраняться в поле, поле VARCHAR при любом количестве символов может распределить только определенное количество памяти, чтобы сохранить фактическое содержание поля, хотя SQL может установить некоторое дополнительное пространство памяти, чтобы следить за текущей длиной поля. Поле VARCHAR может быть любой длины, включая реализационно-определяемый максимум. Этот максимум может меняться от 254 до 2048 символов для VARCHAR и до 16000 символов для LONG. LONG обычно используется для текста пояснительного характера или для данных, которые не могут легко сжиматься в простые значения полей; VARCHAR может использоваться для любой текстовой строки, чья длина может меняться.
Извлечение и модифицирование полей VARCHAR — более сложный, и, следовательно, более медленный процесс, чем извлечение и модифицирование полей CHAR. Кроме того, некоторое количество памяти VARCHAR, остается всегда неиспользованной для гарантии вмещения всей длины строки. При использовании таких типов следует предусматривать возможность полей к объединению с другими полями.
Точные числовые типы — это числа, с десятичной точкой или без десятичной точки, которые могут представляться в виде [+|-] [. ] и специфицироваться как:
DECIMAL(precision [, scale]) — аргумент размера имеет две части: точность и масштаб. Масштаб не может превышать точность. Точность указывает сколько значащих цифр имеет число. Масштаб указывает максимальное число цифр справа от десятичной точки. Масштаб = нулю делает поле эквивалентом целого числа.
NUMERIC(precision [, scale]) — такое же как DECIMAL за исключением того, что максимальное десятичное не может превышать аргумента точности
INTEGER — число без десятичной точки. Эквивалентно DECIMAL, но без цифр справа от десятичной точки, т.е. с масштабом равным 0. Аргумент размера не используется (он автоматически устанавливается в реализационно-зависимое значение).
SMALLINT — такое же как INTEGER, за исключением того, что, в зависимости от реализации, размер по умолчанию может ( или не может ) быть меньше чем INTEGER.
Приблизительные числовые типы — это числа в показательной (экспоненциальной по основанию 10) записи, представляемые как Е и специфицирущиеся следующим образом:
FLOAT[(precision)] — число с плавающей запятой. Аргумент размера состоит из одного числа, определяющего минимальную точность.
REAL — такое же как FLOAT, за исключением того, что никакого аргумента размера не используется. Точность устанавливается реализационно-зависимой по умолчанию.
DOUBLE PRECISION — такое же как REAL, за исключением того, что реализационно-определяемая точность для DOUBLE PRECISION должна превышать реализационно-определяемую точность REAL.
Типы данных Access
Типы данных Access разделяются на следующие группы:
Типы данных SQL Server
Типы данных, используемые в SQL Server:
Типы данных PostgreSQL
База данных PostgreSQL поддерживает большинство типов данных SQL2003 плюс огромный набор типов для хранения пространственных и геометрических данных. PostgreSQL может похвастаться богатым набором операторов и функций, специально предназначенных для геометрических типов данных. Сюда входят такие средства, как поворот, поиск пересечений и масштабирование. В PostgreSQL также есть поддержка дополнительных версий существующих типов данных, которые характерны тем, что занимают меньше места на диске, чем соответствующие исходные версии. Например, в PostgreSQL предлагается несколько вариантов типа INTEGER для хранения больших и небольших чисел, соответственно занимающих больше или меньше места.
Вы должны войти, чтобы оставить комментарий.
Числовые типы данных
Необходимо понимать, чем больше диапазон значений у типа данных, тем больше памяти он занимает. Поэтому, если предполагается, что значения в столбце не будут превышать 100, то используйте тип TINYINT. Если при этом все значения будут положительными, то используйте атрибут UNSIGNED. Правильный выбор типа данных позволяет сэкономить место для хранения этих данных.
Строковые типы данных
Календарные типы данных
Тип данных NULL
Вообще-то это лишь условно можно назвать типом данных. По сути это скорее указатель возможности отсутствия значения. Например, когда вы регистрируетесь на каком-либо сайте, вам предлагается заполнить форму, в которой присутствуют, как обязательные, так и необязательные поля. Понятно, что регистрация пользователя невозможна без указания логина и пароля, а вот дату рождения и пол пользователь может указать по желанию. Для того, чтобы хранить такую информацию в БД и используют два значения:
NOT NULL (значение не может отсутствовать) для полей логин и пароль,
NULL (значение может отсутствовать) для полей дата рождения и пол.
По умолчанию всем столбцам присваивается тип NOT NULL, поэтому его можно явно не указывать.
Таким образом, мы создаем таблицу с 4 столбцами: логин (не более 20 символов) обязательное, пароль (не более 15 символов) обязательное, пол (мужской или женский) не обязательное, дата рождения (тип дата) необязательное.
Все, на этом урок, посвященный типам данных, закончен. У вас, возможно, остались вопросы, но они исчезнут по мере освоения дальнейшего материала, т.к. на практике все становится более понятно, чем в теории.
Видеоуроки php + mysql
Если этот сайт оказался вам полезен, пожалуйста, посмотрите другие наши статьи и разделы.
Типы данных MySQL
Что такое тип данных
1. Тип данных указывает конкретный тип данных, например, целое число, число с плавающей запятой, логическое значение и т. Д.
2. Тип данных также определяет возможные значения для этого типа, операции, которые могут быть выполнены с этим типом, и способ хранения значений этого типа.
Типы данных MySQL
Числовые типы MySQL
Целочисленные типы
Стандартные целочисленные типы SQL INTEGER (или INT) и SMALLINT поддерживаются MySQL. В качестве расширения к стандарту MySQL также поддерживает целочисленные типы TINYINT, MEDIUMINT и BIGINT. В следующей таблице показано требуемое хранилище и диапазон (максимальное и минимальное значение для целого числа со знаком и без знака) для каждого типа целого числа.
Тип | длина в байтах | Минимальное значение (Подпись) | Максимальное значение (Подпись) | Минимальное значение (Без знака) | Максимальное значение (Без знака) |
---|---|---|---|---|---|
TINYINT | 1 | -128 | 127 | 0 | 255 |
SMALLINT | 2 | -32768 | 32767 | 0 | 65535 |
MEDIUMINT | 3 | -8388608 | 8388607 до | 0 | 16777215 |
INT | 4 | -2147483648 | 2147483647 | 0 | 4294967295 |
BIGINT | 8 | -9223372036854775808 | 92233720368 54775807 | 0 | 184467440737 09551615 |
Типы с плавающей точкой
Типы FLOAT и DOUBLE представляют приблизительные числовые значения данных. MySQL использует четыре байта для значений одинарной точности и восемь байтов для значений двойной точности.
Типы | Описание |
---|---|
FLOAT | Точность от 0 до 23 приводит к четырехбайтовому столбцу FLOAT одинарной точности |
DOUBLE | Точность от 24 до 53 приводит к восьмибайтовому столбцу двойной точности DOUBLE. |
В следующей таблице показано необходимое хранилище и диапазон (максимальное и минимальное значение для целого числа со знаком и без знака) для каждого типа с плавающей запятой.
Тип | длина в байтах | Минимальное значение (Подпись) | Максимальное значение (Подпись) | Минимальное значение (Без знака) | Максимальное значение (Без знака) |
---|---|---|---|---|---|
FLOAT | 4 | -3.402823466E + 38 | -1.175494351E-38 | 1.175494351E-38 | 3.402823466E + 38 |
DOUBLE | 8 | -1,7976931348623 157E + 308 | -2,22507385850720 14E- 308 | 0 и +2,22507385850720 14E- 308 | +1,797693134862315 7E + 308 |
Типы с фиксированной точкой
Типы данных с фиксированной точкой используются для сохранения точной точности, например, с валютными данными. В MySQL типы DECIMAL и NUMERIC хранят точные числовые значения данных. MySQL 5.6 сохраняет значения DECIMAL в двоичном формате.
Типы битовых значений
Атрибуты числового типа
MySQL поддерживает расширение для необязательного указания ширины отображения целочисленных типов данных в скобках после ключевого слова base для типа
MySQL Date and Time Types
Типы даты и времени представляют собой ДАТУ, ВРЕМЯ, DATETIME, TIMESTAMP и YEAR. Каждый тип имеет диапазон допустимых значений, а также «нулевое» значение.
DATETIME, DATE и TIMESTAMP Типы
Тип времени
MySQL объясняет сокращенные значения ВРЕМЕНИ двоеточиями как время суток. Предположим, «09: 10» означает «09: 10: 00», а не «00: 09: 10». MySQL понимает сокращенные значения без двоеточий, так как две самые правые цифры представляют секунды. Например, мы думаем, что «0910» и «0910» означают «09: 10: 00», то есть через 10 минут после 9 часов, но реальность такова, что MySQL понимает их как «00: 09: 10», то есть 9 минут и 10 секунд. Поэтому будьте осторожны с использованием сокращенного времени в MySQL.
По умолчанию значения времени, которые находятся вне TIME, преобразуются в допустимый диапазон значений времени. Например, «-930: 00: 00» и «930: 00: 00» преобразуются в «-838: 59: 59» и «838: 59: 59». Недопустимые значения TIME преобразуются в «00: 00: 00», потому что «00: 00: 00» само по себе является допустимым значением «TIME» в MySQL.
Тип года
ГОД (4) и ГОД (2) имеют разный формат отображения, но имеют одинаковый диапазон значений.
Для 4-значного формата MySQL отображает значения YEAR в формате YYYY в диапазоне от 1901 до 2155 или 0000.
Для двухзначного формата MySQL отображает только последние две (наименее значимые) цифры; например, 70 (1970 или 2070) или 69 (2069).
Вы можете указать значения YEAR в различных форматах:
Длина строки | Спектр |
---|---|
4-значная строка | С 1901 по 2155. |
4-значный номер | С 1901 по 2155 год |
1- или 2-значная строка | От 0 до 99 Значения в диапазонах от «0» до «69» и от «70» до «99» преобразуются в значения ГОД в диапазонах с 2000 по 2069 и с 1970 по 1999 год. |
1- или 2-значное число | От 1 до 99. Значения в диапазонах от 1 до 69 и от 70 до 99 преобразуются в значения ГОДА в диапазонах с 2001 по 2069 и с 1970 по 1999 год. |
Типы строк
Типы строк: CHAR, VARCHAR, BINARY, VARBINARY, BLOB, TEXT, ENUM и SET.
Типы CHAR и VARCHAR
Типы CHAR и VARCHAR похожи, но отличаются тем, как они хранятся и извлекаются. Они также различаются по максимальной длине и сохранению задних пробелов.
Типы | Описание | Формат отображения | Диапазон символов |
---|---|---|---|
CHAR | Содержит недвоичные строки. Длина фиксируется, как вы объявляете при создании таблицы. При сохранении они дополняются правыми пробелами до указанной длины. | Конечные пробелы удалены. | Длина может быть любым значением от 0 до 255. |
VARCHAR | Содержит недвоичные строки. Столбцы являются строками переменной длины. | Как хранится. | Значение от 0 до 255 до MySQL 5.0.3 и от 0 до 65 535 в 5.0.3 и более поздних версиях. |
Двоичные и варварские типы
Типы BINARY и VARBINARY похожи на CHAR и VARCHAR, за исключением того, что они содержат двоичные строки, а не недвоичные строки.
Типы | Описание | Диапазон в байтах |
---|---|---|
BINARY | Содержит двоичные строки. | От 0 до 255 |
VARBINARY | Содержит двоичные строки. | Значение от 0 до 255 до MySQL 5.0.3 и от 0 до 65 535 в 5.0.3 и более поздних версиях. |
Типы BLOB и TEXT
Типы | Описание | категории | Спектр |
---|---|---|---|
большой двоичный объект | Большой двоичный объект, содержащий переменное количество данных. Значения обрабатываются как двоичные строки. Вам не нужно указывать длину при создании столбца. | TINYBLOB | Максимальная длина 255 символов. |
MEDIUMBLOB | Максимальная длина 16777215 символов. | ||
LONGBLOB | Максимальная длина 4294967295 символов | ||
ТЕКСТ | Значения обрабатываются как строки символов, имеющие набор символов. | TINYBLOB | Максимальная длина 255 символов. |
MEDIUMBLOB | Максимальная длина 16777215 символов. | ||
LONGBLOB | Максимальная длина 4294967295 символов |
Типы ENUM
Типы SET
Строковый объект, имеющий ноль или более значений, разделенных запятыми (максимум 64). Значения выбираются из списка значений, указанных во время создания таблицы.
Разница между типами данных MySQL Datetime и Timestamp
Тип DATETIME используется, когда вам нужны значения, содержащие информацию как даты, так и времени. MySQL извлекает и отображает значения DATETIME в формате «ГГГГ-ММ-ДД ЧЧ: ММ: СС». Поддерживаемый диапазон: от 1000-01-01 от 00:00:00 до 9999-12-31 23:59:59.
Тип данных TIMESTAMP также используется, когда вам нужны значения, содержащие информацию как о дате, так и о времени. У TIMESTAMP есть диапазон от «1970-01-01 00:00:01» UTC до «2038-01-19 03:14:07» UTC
Основное различие между DATETIME и TIMESTAMP заключается в том, что значения TIMESTAMP при сохранении преобразуются из текущего часового пояса в UTC и при получении возвращаются из UTC в текущий часовой пояс. Значение типа данных datetime не изменяется.
Смотрите следующий пример:
Следующая команда отображает информацию о текущем часовом поясе:
Теперь посмотрите записи;
На этом этапе типы данных datetime и timestamp имеют одинаковые значения.
В приведенном выше выводе оба поля имеют одинаковые значения. Давайте изменим часовой пояс и увидим результат.
Теперь выполните следующую команду:
Описание: типы данных MySQL
Типы данных в MySQL (сжатый справочник для PHP программиста)
Что и как и как много хранит MySQL?
Данный материал создан специально для программистов, которые быстро смогут определиться какой тип данных лучше выбрать для хранения значений в БД MySQL.
Для затравки, интересная цитата из мануала по MySQL:
«Максимальный размер записи в MyISAM составляет 65534 байтов. Каждый BLOB или TEXT-столбец засчитывается здесь как 5-9 байтов.» — как это трактовать однозначно не понятно. НО ясно что много-примного столбцов в таблицу на засунешь. «Извращенистые программисты» — будьте аккуратны (66000 столбцов вы точно создать не сможете).
UPD: Если найдете ошибку, или я что-то где-то утаил — отпишитесь в комментах, с удовольствием добавлю.
UPD1 В первую очередь (и самый лучший вариант для новичков) прочитать ОФИЦИАЛЬНЫЙ МАНУАЛ dev.mysql.com/doc/refman/5.0/en/data-types.html (спасибо Psyh за прямую ссылку), а здесь вырезка для META обработчиков данных (как в лице программистов так и в лице машинной обработки).
UPD2 В принципе, все что написано ниже, можно прочитать по адресу www.mysql.ru/docs/man/Column_types.html (за ссылку «русского перевода», спасибо artuska).
UPD3 Еще одну неплохую ссылку предоставил 4all: newcontinent.ru/h/mysqlc (материал на русском)
UPD4 Цитата из комментов от egorF:
# 14«Как главный редактор русскоязычного перевода доки на MySQL, я рекомендую в него не заглядывать — он уже сказочно морально устарел.»
Следующий массив вполне понятен PHP программистам.
Да и вообще, любые уважающие себя программисты это поймут.
Например:
‘int’=>Array(‘byte’=>4, ‘min’=>-2147483648, ‘max’=>2147483647, ‘umin’=>0, ‘umax’=>4294967295),
Используется так:
Мне надо сохранить в поле максимальное числовое значение 234 259 000 000 000.
INT — для этого не подходит. Смотрим другие типы и находим, что BIGINT вполне подойдет.
$MYSQL_TYPES=Array(
// INTEGER
// byte — кол-во байт на хранение,
// max/min — предельные значения,
// umax/umin — беззнаковые предельные значения
‘int’ =>Array( ‘byte’ =>4, ‘min’ =>-2147483648, ‘max’ =>2147483647, ‘umin’ =>0, ‘umax’ =>4294967295),
‘bigint’ =>Array( ‘byte’ =>8, ‘min’ =>-9223372036854775808, ‘max’ =>9223372036854775807, ‘umin’ =>0, ‘umax’ =>18446744073709551615),
‘tinyint’ =>Array( ‘byte’ =>1, ‘min’ =>-128, ‘max’ =>127, ‘umin’ =>0, ‘umax’ =>255),
‘smallint’ =>Array( ‘byte’ =>2, ‘min’ =>-32768, ‘max’ =>32767, ‘umin’ =>0, ‘umax’ =>65535),
‘mediumint’ =>Array( ‘byte’ =>3, ‘min’ =>-8388608, ‘max’ =>8388607, ‘umin’ =>0, ‘umax’ =>16777215),
// FLOAT DOUBLE
// Внимание! Не храните денежные значения в этих полях. Деньги надо хранить — в DECIMAL
// у FLOAT ТОЧНОСТЬ ТОЛЬКО 7 ЦИФР. (все остальные цифры «смазываются»)
// у DOUBLE ТОЧНОСТЬ ТОЛЬКО 15 ЦИФР. (все остальные цифры «смазываются»)
// byte — кол-во байт для хранения поля (по-умолчанию)
// max_byte — максимальное кол-во байт для хранения
// negative_min/negative_max — минмаксы для отрицательных чисел
// positive_min/positive_max — минмаксы для положительных чисел
‘float’ =>Array( ‘byte’ =>4, ‘max_byte’ =>8, ‘negative_min’ =>-3.402823466E+38, ‘negative_max’ =>-1.175494351E-38, ‘positive_min’ =>1.175494351E-38, ‘positive_max’ =>3.402823466E+38),
‘double’ =>Array( ‘byte’ =>8, ‘negative_min’ =>-1.7976931348623157E+308, ‘negative_max’ =>-2.2250738585072014E-308, ‘positive_min’ =>2.2250738585072014E-308, ‘positive_max’ =>1.7976931348623157E+308),
// BOOLEAN
// сами все поймете
‘bool’ =>Array( ‘byte’ =>1, ‘true’ =>1, ‘false’ =>0),
‘boolean’ =>Array( ‘byte’ =>1, ‘true’ =>1, ‘false’ =>0),
// VARCHAR
// byte — кол-во байт отведенных для хранения (можно задать меньше)
// min_byte — минимальное кол-во байт в которых может храниться поле (если длина равна 1)
// В MYSQL 5.0.3 и выше, VARCHAR может быть до 65,535 символов.
// length — максимальная длина символов в поле
‘varchar’ =>Array( ‘byte’ =>256, ‘min_byte’ =>2, ‘length’ =>255),
‘char’ =>Array( ‘byte’ =>256, ‘min_byte’ =>2, ‘length’ =>255),
// TEXT
// byte — кол-во байт для хранения поля
// min_byte — минимальное кол-во байт для хранения одного символа (если длина поля равна 1)
// length — максимальное количество символов в поле
‘tinytext’ =>Array( ‘byte’ =>256, ‘min_byte’ =>2, ‘length’ =>255),
‘text’ =>Array( ‘byte’ =>65537, ‘min_byte’ =>3, ‘length’ =>65535),
‘mediumtext’ =>Array( ‘byte’ =>16777218, ‘min_byte’ =>4, ‘length’ =>16777215),
‘longtext’ =>Array( ‘byte’ =>4294967300, ‘min_byte’ =>5, ‘length’ =>4294967296),
‘tinyblob’ =>Array( ‘byte’ =>256, ‘min_byte’ =>2, ‘length’ =>255),
‘blob’ =>Array( ‘byte’ =>65537, ‘min_byte’ =>3, ‘length’ =>65535),
‘mediumblob’ =>Array( ‘byte’ =>16777219, ‘min_byte’ =>4, ‘length’ =>16777215),
‘longblob’ =>Array( ‘byte’ =>4294967300, ‘min_byte’ =>5, ‘length’ =>4294967296),