23.06.2025

Типы данных в MySQL

Введение

Существуют различные области, в которых используются информационные системы, каждая из которых требует эффективной, стабильной и желательно высокой производительности. Но невозможно обрабатывать данные в одном формате, иногда приходится использовать текстовые, числовые сведения или даже кучу смешанной информации. Для этого люди разработали, структуры данных в СУБД. Рассмотрим структуры данных в MySQL и выберем подходящие для различных случаев.

Как выбрать структуры данных?

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

В случаях, когда длина данных изменяется, например, в описаниях товаров, рекомендуется использовать тип данных переменной длины, например VARCHAR. Для исключительно больших данных, например, видеофайлов, оптимальным вариантом является использование двоичного типа данных LONGBLOB.
Кроме того, при работе с данными, требующими частого поиска или сортировки, важно выбрать тип данных, оптимизированный для этих операций. Например, тип данных CHAR превосходит VARCHAR при эффективном сравнении строк.

Числовые структуры данных

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

Скриншот №1 — Диапазоны целых чисел

Создать столбец с этой структурой можно с помощью нескольких команд:

USE your_database
CREATE TABLE t1 (c1 TINYINT, c2 BIGINT);

Скриншот №2 — Добавим тип данных

Затем введите необходимые данные в таблицу командой, приведенной ниже:

INSERT INTO t1 (c1, c2) VALUES(127, 256);

После этого необходимо убедиться в том, как данные выглядят в таблице. Если вы хотите использовать диапазон без отрицательных чисел, то укажите опцию UNSIGNED.

SELECT c1, c2 FROM t1;

Скриншот №3 — Внесем значения

Форму или маску таблицы мы можем проверить, набрав эту команду:

DESCRIBE t1;

Обратите внимание! Замените t1 на название вашей таблицы!

Скриншот №4 — Проверим результат

Атрибут UNSIGNED обладает двумя основными преимуществами:

Тем не менее, при использовании атрибута UNSIGNED необходимо учитывать некоторые моменты:

В СУБД для использования этой опции введите:

ALTER TABLE t1 ADD COLUMN c3 INT UNSIGNED;
DESCRIBE t1;

Скриншот №5 — Добавим новый тип данных

Рассмотрим эти сценарии в качестве примеров того, когда следует использовать каждый тип данных.

Float:

Double:

Decimal:

Integer:

Строчные структуры данных

В MySQL мы можем использовать строковые типы для хранения текстовых данных, но иногда мы не знаем, какой длины они будут. Поэтому существует два типа хранения данных — переменной и фиксированной длины. Один из специфических строковых типов в MySQL — это CHAR, который относится к категории  структур с фиксированной длиной. Когда вы определяете столбец CHAR в таблице базы данных, вы указываете его длину — количество символов, которое он может содержать. Например, если создать столбец CHAR с длиной 10, то в нем всегда будет храниться ровно 10 символов, даже если вы введете меньше.

ALTER TABLE t1 ADD COLUMN string1 CHAR(10);

Затем проверьте результат ввода команды:

DESCRIBE t1;

Скриншот №6 — Добавим строчный тип

Гибкость, присущая переменным типам строк, проявляется в эффективном использовании пространства для хранения данных, динамически адаптируясь для размещения текста различной длины. Такая адаптивность делает их незаменимыми в различных приложениях, где текстовое содержимое существенно изменяется по длине.

Другие структуры данных

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

MySQL также предоставляет другие типы данных с отдельными функциями:

Эти разнообразные типы данных позволяют разработчикам баз данных эффективно управлять широким спектром данных – от двоичного содержимого до перечисляемых вариантов и логических флагов.

Вывод

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