44
MySQL поддерживает несколько типов данных.
Числовые данные. К ним относят целые числа, не содержащие дробной
части (например, 124), а также вещественные числа, имеющие как целую, так и
дробную части (например, 56.45). Числовые данные делятся на точечные (BIT,
BOOLEAN, INTEGER И DECIMAL) и приближенные (FLOAT, REAL И
DOUBLE PRECISION).
Строковые данные – последовательность символов, заключенных в
одинарные или двойные кавычки: 'Hello world', '123', "MySQL". Поскольку в
качестве стандарта в SQL определены одинарные кавычки, для совместимости с
другими базами данных рекомендуется использовать именно их. Различают
строковые типы CHAR, VARCHAR, BLOB, TEXT, MEDIUMTEXT,
MEDIUMBLOB, LONGTEXT, LONGBLOB, ENUM, SET.
К особым типам данных относятся ENUM и SET. Строки этих типов
принимают значения из заранее заданного списка допустимых значений.
Основное различие между ними заключается в том, что значение типа
ENUM должно содержать точно одно значение из указанного множества, тогда
как столбцы SET могут содержать любой (или все) элементы заранее заданного
множества. Так, значения для столбца, объявленного как ENUM ('y', 'n'), могут
принимать значения либо 'y', либо 'n'.
Для типа SET, так же, как и для типа ENUM, при объявлении задается
список возможных значений, но в ячейке таблицы может храниться любое
значение из списка, а пустая строка означает, что ни один из элементов списка
не выбран. Например, значения для столбца SET ('y', 'n') могут принимать
значения ('y', 'n'), ('y'), ('n') и пустое множество ().
Календарные данные.
СУБД MySQL имеет пять календарных типов данных: DАТЕ,
DATETIME, TIME, TIMESTAMP и YEAR. Тип DАТЕ предназначен для
хранения даты, TIME — для времени суток, a TIMESTAMP – для представления
и даты, и времени суток. Тип TIMESTAMP предназначен для представления
даты и времени суток в виде числа секунд, прошедших с полуночи 1 января 1970
года. Тип данных YEAR позволяет хранить только год.