Реализация языка SQL в MySQL - Типы данных
ОГЛАВЛЕНИЕ
Типы данных
Поля должны иметь один из следующих типов данных:
| BIGINT [(length)] [UNSIGNED] [ZEROFILL] | 8 байт целое (если компилятор поддерживает такой тип) |
| BLOB | Двоичный объект (максимальная длина 65535 байт) |
| CHAR(NUM) | Строка фиксированной длины (1 <= NUM <= 255) |
| DATE | Сохраняет информацию о дате. Использует формат "YYYY-MM-DD". Может модифицироваться как строка или число, хотя Вы, вероятно, используете контекст строки для времени и даты. MySQL тип DATEпонимает по крайней мере следующие синтаксис.
Диапазон для этого типа данных от 0000-00-00 до 9999-12-31. Так что "проблема 2000" здесь не стоит. В отличие от TIMESTAMP, DATE принимает годы и в виде двух цифр от 0000 до 0099. Это не очень полезно в большинстве случаев. Используйте задание лет четырьмя цифрами в полях типа DATE. Тип DATE имеет длину 4 байта. |
| DATETIME | Объединение типов DATE и TIME. Тип DATETIME идентичен типу TIMESTAMP со следующими исключениями:
Тип DATETIME имеет длину 8 байт. |
| DECIMAL (length,dec) | Десятичное число с плавающей запятой. |
| DOUBLE [(length,dec)] | Число (4 или 8 байт) двойной точности с максимальной длиной и фиксированном числом десятичных чисел. |
| FLOAT [(precision)] | Номер с плавающей запятой. FLOAT(4) и FLOAT одиночная точность. FLOAT(8) обеспечивает двойную точность. |
| FLOAT [(length,decimals)] | Число одиночной точности с максимальной длиной и фиксированном числом десятичных чисел (4 байта). |
| INT [(length)] [UNSIGNED] [ZEROFILL] | Целое (4 байта). |
| INTEGER [(length)] [UNSIGNED] [ZEROFILL] | Целое число 4 байта |
| LONGBLOB | Двоичный объект с максимальной длиной 2**32 байт. |
| MEDIUMBLOB | Двоичный объект с максимальной длиной 16777216 байт. |
| MEDIUMINT [(length)] [UNSIGNED] [ZEROFILL] | Целое (3 байта). |
| REAL [(length,dec)] | Идентично DOUBLE (8 байт). |
| SMALLINT [(length)] [UNSIGNED] [ZEROFILL] | Целое (2 байта). |
| TINYBLOB | Двоичный объект с максимальной длиной 255 байт. |
| TINYINT [(length)] [UNSIGNED] [ZEROFILL] | Целое число (1 байт). |
| VARCHAR(NUM) | Строка переменной длины (1 <= NUM <= 255) |
| TIME | Хранит информацию о времени. Использует формат "HH:MM:SS". Может использоваться как строка или число. MySQL тип TIME понимает следующий синтаксис.
|
| TIMESTAMP(NUM) | Автоматически изменяется при вставке/обновлении. Имеет формат YYMMDDHHMMSS или YYYYMMDDHHMMSS. Вы можете модифицировать поле TIMESTAMP при выполнении INSERT. Это полезно, когда Вы хотите установить произвольную дату/время для записи. В течение модификаций Вы не должны определять значение для вашего поля TIMESTAMP, или определять NULL как значение, для вставки. Иначе вы получите недопустимое значение для этого поля. Когда используете mysql с ODBC и Access Вы должны использовать значение 14 для NUM, поскольку это заставляет MySQL всегда использовать в годах четыре цифры. Значение 12 заставит MySQL использовать в году две цифры. Значение по умолчанию - 14. Обратите внимание, что в случае таблиц с несколькими полями TIMESTAMP только первое такое поле будет модифицироваться автоматически. |
Длина поля определяет, сколько всего цифр может иметь число, в то время как поле dec определяет, сколько из этих цифр будет после десятичной точки. Эти значения используются только для форматирования и вычисления максимальной ширины столбца.
