> For the complete documentation index, see [llms.txt](https://docs.system-analyst-base.ru/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.system-analyst-base.ru/hard-skills/bazy-dannykh/relyacionnye/tipy-dannykh.md).

# Типы данных

## Целые числа

Хранят только целые числа, без дробной части. Делятся на signed (со знаком) и unsigned (без знака).&#x20;

* Типы singed позволяют хранить как положительные, так и отрицательные значения.
* Типы unsigned хранят только положительные числа, но зато диапазон значений больше. Это может быть полезно в случаях, когда хранимые значения заведомо не могут быть отрицательным. Например, количество товара или идентификатор записи в таблице.

Примеры: TINYINT, SMALLINT, MEDIUMINT, **INT**, BIGINT

## Числа с плавающей точкой

Хранят приблизительные значения. Не резервируют определенное количество бит для целочисленной или дробной частей. Поэтому у всех значений в таблице количество до и после запятой будет разным.

Примеры: **FLOAT, DOUBLE**

## Числа с фиксированной точкой

Эти типы данных используются для сохранения заданной точности. Такие числа резервируют определенное количество бит для целочисленной и дробной частей. Независимо от того, насколько большое или маленькое число, оно всегда будет использовать одно и то же количество бит для сохранения каждой части. Эти типы данных подходят для случаев, когда важна точность, например, деньги.

Примеры: **DECIMAL(M,D), NUMERIC(M,D)**

## Символьные (строковые) <a href="#symbolic" id="symbolic"></a>

* **CHAR** хранит строку фиксированной длины до 255 символов. Если длина вставляемой записи меньше, то MySQL автоматически дополняет значение пробелами.&#x20;
* **VARCHAR** хранит строки переменной длины до 65 535 символов. Причем в памяти хранится именно та длина, которая была указана при создании. VARCHAR занимает меньше места, чем CHAR, но подвержен фрагментации и из-за этого может проигрывать в скорости обработки данных.

## Текстовые и бинарные <a href="#text-and-binary" id="text-and-binary"></a>

Текстовые (TEXT) и бинарные (BLOB) типы данных используются для хранения больших объемов текста или двоичных данных. Эти типы похожи, но отличаются по способу хранения и обработки внутри MySQL.

* **BLOB** обрабатывается как двоичные данные. В нем не хранится набор символов, а операции сортировки и сравнения основаны на числовых значениях байтов.&#x20;
* **TEXT** обрабатывается как символьные строки. В нем хранится именно набор символов, а значения сортируются и сравниваются на основе сопоставления набора символов..

Текстовые типы отлично подходят для хранения больших текстов: статей, докладов и так далее. А бинарные типы могут хранить любые файлы или мультимедиа-контент.

## Дата/время <a href="#date" id="date"></a>

Примеры: **DATE, DATETIME, TIMESTAMP, TIME**

Источник: <https://selectel.ru/blog/tutorials/data-types-in-mysql/>
