аватар Автор: Сергей Касаткин | 13 июня 2013 15:53

Уроки / MySQL /

Урок 2. Типы полей MySQL

1. Типы полей
2. Часто используемые типы полей MySQL

В предыдущем уроке мы рассмотрели основные составляющие MySQL. Напомню, в базу данных входят таблицы, которые состоят из записей, а записи, в свою очередь, состоят из полей. Поле подразумевает два атрибута - имя и тип. Имя может быть любое, удобное Вам, а состоять должно из латинских букв и нижнего подчёркивания.


Имя: id, name, age, sex
Типы: INT, VARCHAR, INT, VARCHAR

Поля могут быть разного типа - с числами (разных величин), текстом, датой и так далее. Логично, если под определённые данные будет точно выбран тип поля.

Тип поля может быть:

1. Целым
2. Вещественным
3. Строковым
4. Бинарным
5. Дата и время
6. Перечисления и множества

Типы полей мы примерно сгруппировали. Теперь давайте приступим к знакомству с ними.

Типы полей в MySQL


Целочисленные типы данных

TINYINT - тип целых чисел. Диапазон значений от -127 до 128 (если может быть отрицательным), либо 0 до 255 (если не может быть отрицательным).

SMALLINT - тип целых чисел, В отличие от TINYINT диапазон значений значительно больше: -32 768 до 32 767 (если значение может быть отрицательным), либо от 0 до 65 535.

MEDIUMINT - тип целых чисел, однако диапазон значений ещё больше: от -8 388 608 до 8 388 607 (если возможны отрицательные), либо от 0 до 16 777 215.

INT - тип целых чисел. Самый распространённый тип данных. Диапазон: от -2 147 483 648 до 2 147 483 647, либо от 0 до 4 294 967 295.

BIGINT - ещё один тип целых чисел, с самым широким диапазоном значений. Используется редко, так как подобные масштабы значений бывают задействованы крайне редко. От -9 223 372 036 854 775 808 до 9 223 372 036 854 775 807, либо от 0 до 18 446 744 073 709 551 615.

Вещественные числа

FLOAT - вещественные числа. Точность одинарная. Число знаков после запятой может составлять не более 24-х. Диапазон значений: от -3,402823466E+38 до -1,175494351E-38, 0, и от 1,175494351E-38 до 3,402823466E+38.

DOUBLE - вещественный тип данных. Похож на FLOAT, но знаков после запятой больше в два раза. Количество знаков после запятой может составлять до 53-х. Допустимые значения: от -1,7976931348623157E+308 до -2,2250738585072014E-308, 0, и от 2,2250738585072014E-308 до 1,7976931348623157E+308.

DECIMAL - вещественный тип данных, хранится в виде строки. Используется редко. При отсутствии знаков - и . диапазон значений такой же как у DOUBLE.

Строки

TEXT (BLOB) - стандартный строковый тип данных. Максимальная длина 65 535 символов. Самый используемый вариант при хранении текстовых данных.

TINYTEXT (TINYBLOB) - строковый тип. Текст с длиной от 0 до 255 символов.

MEDIUMTEXT (MEDIUMBLOB) - строковый тип. Текст с длиной от 0 до 16 777 215 символов.

LONGTEXT (LONGBLOB) - строковый тип. Текст с длиной от 0 до 4 294 967 295 символов.

VARCHAR - ещё один строковый тип данных, причём строкой переменной длины от 0 до 255 символов. Чаще всего используется для сохранения переменных с логином, паролем и прочими пользовательскими данными.

CHAR - строковый тип данных. Длина фиксированная (независимо от количества переданных символов). Диапазон составляет от 0 до 255 символов. При передаче данных меньше 255 символов в конце к данным дописываются пробелы, чтобы длина строки достигла заданного размера.

Бинарные типы данных

TINYBLOB - бинарный тип данных. Максимум 255 символов.

BLOB - бинарный тип. Максимум 65535 символов.

MEDIUMBLOB - бинарный тип данных. Максимум 16 777 215 символов.

LONGBLOB - бинарный тип данных. Максимум 4 294 967 295 символов.

Дата и время

DATE - тип данных, хранящий дату. Формат следующий: YYYY-MM-DD (год, месяц, день). Например, такое значение будет удовлетворять этому полю: 2011-01-02.

DATETIME - тип данных, хранящий дату и время. Формат следующий: YYYY-MM-DD HH:MM:SS (год-месяц-день час-минута-секунда). Например: 2011-01-21 09:41:22

TIMESTAMP - тип данных, хранящий дату и время. Имеет следующие форматы: YYYYMMDDHHMMSS, YYMMDDHHMMSS, YYYYMMDD, YYMMDD.

TIME - тип данных, хранящий время. Формат: HH:MM:SS. Например: 09:21:55.

YEAR - тип данных, хранящий дату (год). Форматы: YY, YYYY.

Списки значений

ENUM - тип данных, содержащий список значений. Значение данного типа должно быть из списка допустимых строковых значений (аналог radiobutton). Максимальное количество значений 65535.

SET - тип данных, содержащий список значений. В отличие от ENUM может быть выбрано несколько значений (аналог checkbox). Максимальное количество значений, хранимых в SET - 64.

Атрибуты полей

Атрибут AUTO_INCREMENT - генерирует новое порядковое значение для строк.
Атрибут UNSIGNED - при выставлении данного параметра значение может быть отрицательным.

Теперь вы ознакомлены с основными типами полей в MySQL. Все поля не за чем использовать, пригодятся в работе максимум 10 из них, поэтому не старайтесь запомнить всю информацию по ним.

Часто используемые типы полей MySQL


INT - по праву самый распространённый тип. Практически в каждой таблице есть поле ID (уникального идентификатора), автоматически назначаемый для каждой записи.

VARCHAR - популярен для сохранения данных пользователей - логинов, паролей, имён, фамилий и других подобных полей.

TINYINT - используется для активации пользователей (например, 0 не активирован, 1 - активирован), статей, объявлений и прочих данных. Также используется в других ситуациях, где используются так называемые флаги. Например, 1 - Гость, 2 - Зарегистрированный, 3 - Модератор, 4 - Администратор.

TEXT - текстовый тип данных. Очень часто используется для хранения статей, сообщений и прочих записей.

DATETIME - у каждого сообщения, статьи, записи, регистрации пользователя, в конце концов, есть время создания, последнего редактирования и так далее. Для это часто используют данный тип.

ENUM - используется в сочетании с другими типами данных. Для словесного описания какого-либо функционала или сохранения версии ресурса на другом языке (английский и тд). Меню - Menu и так далее.

Спасибо за внимание!
 



Похожие статьи


Комментарии к статье (vk.com)