1 (edited by 2015.07.13 12:37)

Topic: Типы данных, используемые в базе данных MySQL

Целые числа

Необязательный флаг UNSIGNED задает, что будет создано поле для хранения без знаковых чисел (больших или равных 0).
TINYINT    Может хранить числа от -128 до 127
SMALLINT    Диапазон от -32 768 до 32 767
MEDIUMINT    Диапазон от -8 388 608 до 8 388 607
INT    Диапазон от -2 147 483 648 до 2 147 483 647
BIGINT    Диапазон от -9 223 372 036 854 775 808 до 9 223 372 036 854 775 807

2

Re: Типы данных, используемые в базе данных MySQL

Дробные числа

Точно так же, как целые числа подразделяются в MySQL на несколько разновидностей, MySQL поддерживает и несколько типов дробных чисел.
В общем виде они записываются так:

ИмяТипа[(length, decimals)] [UNSIGNED]

Здесь length - количество знакомест (ширина поля), в которых будет размещено дробное число при его передаче.
decimals - количество знаков после десятичной точки, которые будут учитываться.

UNSIGNED
- задает беззнаковые числа.
FLOAT
Число с плавающей точкой небольшой точности.
DOUBLE
Число с плавающей точкой двойной точности.
REAL
Синоним для DOUBLE.
DECIMAL
Дробное число, хранящееся в виде строки.
NUMERIC
Синоним для DECIMAL.

3

Re: Типы данных, используемые в базе данных MySQL

Строки
Строки представляют собой массивы символов. Обычно при поиске по текстовым полям по запросу SELECT не берется в рассмотрение регистр символов, т.е. строки "Вася" и "ВАСЯ" считаются одинаковыми. Кроме того, если база данных настроена на автоматическую перекодировку текста при его помещении и извлечении, эти поля будут храниться в указанной вами кодировке.
Для начала ознакомимся с типом строки, которая может хранить не более length символов, где length принадлежит диапазону от 1 до 255.

VARCHAR (length) [BINARY]

При занесении некоторого значения в поле такого типа из него автоматически вырезаются концевые пробелы. Если указан флаг BINARY, то при запросе SELECT строка будет сравниваться с учетом регистра.

VARCHAR    Может хранить не более 255 символов.
TINYTEXT    Может хранить не более 255 символов.
TEXT    Может хранить не более 65 535 символов.
MEDIUMTEXT    Может хранить не более 16 777 215 символов.
LONGTEXT    Может хранить не более 4 294 967 295 символов.
Чаще всего применяется тип TEXT, но если вы не уверены, что данные не будут превышать 65 536 символов, используйте LONGTEXT.

4

Re: Типы данных, используемые в базе данных MySQL

Бинарные данные

Бинарные данные - это почти то же самое, что и данные в формате TEXT, но только при поиске в них учитывается регистр символов.

TINYBLOB    Может хранить не более 255 символов.
BLOB    Может хранить не более 65 535 символов.
MEDIUMBLOB    Может хранить не более 16 777 215 символов.
LONGBLOB    Может хранить не более 4 294 967 295 символов.
BLOD-данные не перекодируются автоматически, если при работе с установленным соединением включена возможность перекодирования текста "на лету".

5

Re: Типы данных, используемые в базе данных MySQL

Дата и время
MySQL поддерживает несколько типов полей, специально приспособленных для хранения дат и времени в различных форматах.

DATE    Дата в формате ГГГГ-ММ-ДД
TIME    Время в формате ЧЧ:ММ:СС
DATETIME    Дата и время в формате ГГГГ-ММ-ДД ЧЧ:ММ:СС
TIMESTAMP    Дата и время в формате timestamp. Однако при получении значения поля оно отображается не в формате timestamp, а в виде ГГГГММДДЧЧММСС, что сильно умаляет преимущества его использования в PHP