Типы полей в MySQL. Значение, использование.
На этой странице мы обсудим очень важный вопрос, который всегда волнует начинающих и связанный с тем, какие типы полей в таблицах предоставляет нам MySQL. Не секрет, что записи в таблицах должны соответствовать этим типам. И каждая ячейка записи должна удовлетворять определённым условиям, которые как раз и задаются типом поля в СУБД MySQL.
Давайте с Вами по порядку разберём все типы полей в MySQL
№№ | Name | Описание | Рекомендации |
1 | VARCHAR | Это тип является строковым, причём строкой переменной длины от 0 до 255 символов. | идеальный тип данных для всяких логинов, паролей, заголовков статей, имён, фамилий и прочего. |
2 | TINYINT | Это тип целых чисел. Диапазон значений от -127 до 128, либо 0 до 255, в зависимости от того, может ли это поле быть отрицательным. О том, как это задавать, я расскажу ниже. | используется для всяких "флагов". Например, активирован пользователь на сайте или нет, заблокирован пользователь на сайте или нет. Также используется для численной оценки прав пользователя. Например, "1" - это Гость, "2" - Зарегистрированный, "3" - Администратор и так далее. |
3 | TEXT (BLOB) | Это обычный строковый тип, в котором максимальная длина составляет 65535 символов. Идеальный вариант для хранения текстов статей. | используется для хранения текста, разумеется, используется очень часто. |
4 | DATE | Этот тип отвечает за дату. Формат следующий: "YYYY-MM-DD". Например, такое значение будет удовлетворять этому полю: "2011-01-02". | |
5 | SMALLINT | Также, как и TINYINT - это целый тип данных, но диапазон значений уже побольше: -32768 до 32767, либо от 0 до 65535. | |
6 | MEDIUMINT | Ещё один целый тип, но диапазон значений ещё больше: от -8388608 до 8388607, либо от 0 до 16777215. | |
7 | INT | Самый часто используемый целый тип данных. Его диапазон: от -2147483648 до 2147483647, либо от 0 до 4294967295. | самый популярный вариант использования этого типа - это ID (уникального идентификатора), который уникален для каждой записи в таблице. |
8 | BIGINT | Последний целый тип, который используется достаточно редко, так как его диапазон значений особо не востребован: от -9223372036854775808 до 9223372036854775807, либо от 0 до 18446744073709551615. | |
9 | FLOAT | Вещественный тип данных. Точность одинарная, то есть число знаков после запятой может быть не более 24-х. Диапазон значений: от -3,402823466E+38 до -1,175494351E-38, 0, и от 1,175494351E-38 до 3,402823466E+38. | |
10 | DOUBLE | Тот же FLOAT, но с двойной точностью. Количество знаков после запятой может составлять до 53-х. Допустимые значения: от -1,7976931348623157E+308 до -2,2250738585072014E-308, 0, и от 2,2250738585072014E-308 до 1,7976931348623157E+308. В общем, если Вам нужны действительно огромные числа, то DOUBLE - это наилучший выбор. | |
11 | DECIMAL | Редко используемый тип данных, но тем не менее. Это число, похожее на тип DOUBLE, но хранится оно в виде строки. И, фактически, интервал допустимых значений определяется наличием знака "-" и ".". Если эти знаки отсутсвуют, то допустимый интервал такой же, как и у DOUBLE. | |
12 | DATETIME | Тип данных, отвечающих за хранение даты и времени. Формат следующий: "YYYY-MM-DD HH:MM:SS". | используется для хранения даты и времени. Например, можно хранить дату и время отправки сообщения на форуме, дату и время регистрации пользователя и так далее. |
13 | TIMESTAMP | Определённая временная метка, которая может иметь один из следующих форматов: "YYYYMMDDHHMMSS", "YYMMDDHHMMSS", "YYYYMMDD", "YYMMDD". | |
14 | TIME | Простой тип, отвечающий за время в формате: "HH:MM:SS". | |
15 | YEAR | Тип, отвечающий за год в одном из двух форматов: "YY", "YYYY". | |
16 | CHAR | Строка фиксированной длины. Диапазон состовляет от 0 до 255 символов. При хранении данный тип добавляет к концу строки количество пробелов до заданного размера. | |
17 | TINYTEXT (TINYBLOB) | Текст с длиной от 0 до 255 символов. | |
18 | MEDIUMTEXT (MEDIUMBLOB) | Текст с длиной от 0 до 16777215 символов. | |
19 | LONGTEXT (LONGBLOB) | Текст с длиной от 0 до 4294967295 символов. | |
20 | ENUM | Этот тип содержит список значений. Другими словами, значение соответствующей ячейки записи должно быть выбрано из списка допустимых строковых значений (аналог radiobutton). Максимальное количество значений 65535. | используется реже тех, которые я описал выше, но тем не менее. Самый простой пример использования этого типа - это словесное описание прав пользователя: "Гость", "Зарегистрированный", "Администратор". |
21 | SET | Набор значений. Если в ENUM должно быть выбрано только одно, то тут может быть выбрано сразу несколько значений (аналог checkbox). Максимальное количество значений, хранимых в SET - 64. |