MySQL поддерживает несколько типов столбцов, которые можно разделить на три категории: числовые типы данных, типы данных для хранения даты и времени и символьные (строковые) типы данных
Поля должны иметь один из следующих типов данных:
DECIMAL (length,dec)
Десятичное число с плавающей запятой.
DOUBLE [(length,dec)]
Число (4 или 8 байт) двойной точности с максимальной длиной и фиксированном числом десятичных чисел.
FLOAT [(length,decimals)]
Число одиночной точности с максимальной длиной и фиксированном числом десятичных чисел (4 байта).
INT [(length)] [UNSIGNED] [ZEROFILL]
Целое (4 байта).
TINYINT[(length)] [UNSIGNED][ZEROFILL]
Целое число (1 байт).
REAL [(length,dec)]
Идентично DOUBLE (8 байт).
BLOB
Двоичный объект (максимальная длина 65535 байт)
VARCHAR(NUM)
Строка переменной длины (1 <= NUM <= 255)
CHAR(NUM)
Строка фиксированной длины (1 <= NUM <= 255)
DATE
Использует формат "YYYY-MM-DD".
Диапазон от 0000-00-00 до 9999-12-31..
Автоматически изменяется при вставке/обновлении. Имеет формат YYMMDDHHMMSS или YYYYMMDDHHMMSS.
Все типы целочисленных данных могут иметь необязательный и не оговоренный в стандарте атрибут UNSIGNED. Беззнаковые величины можно использовать для разрешения записи в столбец только положительных чисел, если необходимо немного увеличить числовой интервал в столбце.
BIT , BOOL Являются синонимами для TINYINT(1).
FLOAT[(M,D)] [UNSIGNED] [ZEROFILL] Малое число с плавающей точкой обычной точности. Допустимые значения: от -3,402823466E+38 до -1,175494351E-38, 0, и от 1,175494351E-38 до 3,402823466E+38. Если указан атрибут UNSIGNED, отрицательные значения недопустимы.
DOUBLE PRECISION[(M,D)] [UNSIGNED] [ZEROFILL] , REAL[(M,D)] [UNSIGNED] [ZEROFILL] Число с плавающей точкой удвоенной точности нормального размера. Допустимые значения: от -1,7976931348623157E+308 до -2,2250738585072014E-308, 0, и от 2,2250738585072014E-308 до 1,7976931348623157E+308. Если указан атрибут UNSIGNED, отрицательные значения недопустимы.
DECIMAL[(M[,D])] [UNSIGNED] [ZEROFILL] NUMERIC[(M[,D])] [UNSIGNED] [ZEROFILL]`Неупакованное'' число с плавающей точкой. Ведет себя подобно столбцу CHAR, содержащему цифровое значение. Термин ``неупакованное'' означает, что число хранится в виде строки и при этом для каждого десятичного знака используется один символ.
Для всех целочисленных полей в MySQL можно установить атрибут AUTO_INCREMENT. При записи величины NULL (рекомендуется) или 0 в столбец AUTO_INCREMENT данный столбец устанавливается в значение value+1, где value представляет собой наибольшее для этого столбца значение в таблице на момент записи. Последовательность AUTO_INCREMENT начинается с 1. В таблице может быть только один столбец AUTO_INCREMENT, и он должен быть индексирован. Последнюю внесенную строку можно найти с помощью следующего запроса
SELECT * FROM tbl_name WHERE auto_col IS NULL
Пример:
CREATE TABLE a (id INTEGER AUTO_INCREMENT NOT NULL PRIMARY KEY,...);