Поля и их типы в MySQL
База данных с точки зрения MySQL (и некоторых других СУБД) - это обыкновенный каталог, содержащий двоичные файлы определенного формата - таблицы. Таблицы состоят из записей, а записи, в свою очередь, состоят из полей. Поле имеет два атрибута - имя и тип.
Тип поля может быть:
- Целым;
- Вещественным;
- Строковым;
- Бинарным;
- Дата и время;
- Перечисления и множества.
Возможные типы данных, диапазоны и описания представлены в последующих таблицах:
Целочисленные типы данных
Тип |
Диапазон |
TINYINT
|
-128...+127 |
SMALLINT
|
-32768...+32767 |
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 |
Вещественные типы записываются в виде:
ТИП (ДЛИНА, ЗНАКИ) [UNSIGNED]
Длина - это колличество знакомест, в которых будет размещено все число при его передаче, а ЗНАКИ - это колличество знаков после десятичной точки, которые будут учитываться. Если указан модификатор UNSIGNED, знак числа учитываться не будет.
Вещественные числа
Тип |
Описание |
FLOAT
|
Небольшая точность
|
DOUBLE
|
Двойная точность
|
REAL
|
То же, что и DOUBLE
|
DECIMAL
|
Дробное число, хранящееся в виде строки
|
NUMERIC
|
То же, что и DECIMAL
|
Любая строка - это массив символов. При поиске с помощью оператора SELECT (мы рассмотрим его далее) не учитывается регистр символов: строки "HELLO" и "Hello" считаются одинаковыми.
Можно настроить MySQL на автоматическое перекодирование символов - в этом случае в базе данных строки будут храниться в одной кодировке, а выводиться - в другой.
В большинстве случаев применяется тип VARCHAR или просто CHAR, позволяющий хранить строки, содержащие до 255 символов. В скобках после типа указывается длина строки:
VARCHAR(48);
CHAR(73);
Если 255 символов для вашей задачи недостаточно, можно использовать другие типы, например, TEXT.
Строки
Тип |
Описание |
TINYTEXT
|
Максимальная длина 255 символов |
TEXT
|
Максимальная длина 65535 символов (64 Кб) |
MEDIUMTEXT
|
Максимальная длина 16 777 215 символов |
LONGTEXT
|
Максимальная длина 4 294 967 295 символов |
Бинарные типы данных также можно использовать для хранения текста, но при поиске будет учитываться регистр символов. К тому же, любой текстовый тип можно преобразовать в бинарный, указав модификатор BINARY:
VARCHAR(30) BINARY;
Бинарные типы данных
Тип |
Описание |
TINYBLOB
|
Максимум 255 символов |
BLOB
|
Максимум 65535 символов |
MEDIUMBLOB
|
Максимум 16 777 215 символов |
LONGBLOB
|
Максимум 4 294 967 295 |
Примечание: Бинарные данные не перекодируются "на лету", если установлена перекодировка символов.
Дата и время
Тип |
Описание |
DATE
|
Дата в формате ГГГ-ММ-ДД |
TIME
|
Время в формате ЧЧ:ММ:СС |
TIMESTAMP
|
Дата и время в формате timestamp, выводится в виде ГГГГММДДЧЧММСС |
DATETIME
|
Дата и время в формате ГГГГ-ММ-ДД ЧЧ:ММ:СС |
Другие типы данных MySQL рассматривать бессмысленно, поскольку применение их в PHP нецелесообразно.
|