Справочник от Автор24
Найди эксперта для помощи в учебе
Найти эксперта
+2

Символьные типы данных

Одним из самых распространенных типов данных является символьный тип CHAR. С помощью этого типа описываются такие символьные данные, как, например, адреса или имена.

Также используются символьные типы VARCHAR, SET ENUM TEXT и BLOB.

Символьные типы данных. Автор24 — интернет-биржа заказчиков и авторов

Типы данных CHAR и VARCHAR

Типы данных CHAR и VARCHAR отличаются способами их извлечения и хранения.

Длина поля в столбце типа CHAR является постоянной и может содержать любые значения от 1 до 255 (в некоторых версиях MySQL от 0 до 255). При хранении значения типа CHAR справа дополняются пробелами до указанной длины, которые удаляются при извлечении хранимых значений. Значения типа VARCHAR являются строками переменной длины. Длина значения VARCHAR также от 1 до 255, но при хранении значений этого типа используется лишь необходимое количество символов и 1байт для записи длины. Также хранимые значения не дополняются пробелами.

Если задаваемое значение типа CHAR или VARCHAR будет превосходить максимальную длину столбца, то это значение соответствующим образом будет усечено.

Рассмотрим отличия этих двух типов столбцов на примере значения с разной длиной строки в столбцах VARCHAR(4) и CHAR(4):

Символьные типы данных. Автор24 — интернет-биржа заказчиков и авторов

Извлеченные значения из столбцов VARCHAR(4) и CHAR(4) в обоих случаях будут одинаковыми, т.к. пробелы в конце строки из столбца CHAR при извлечении удаляются.

Типы данных BLOB и TEXT

Тип данных BLOB является двоичным объектом большого размера, способным содержать переменное количество данных. Существует четыре вида данного типа – LONGBLOB, MEDIUMBLOB, BLOB и TINYBLOB, которые отличаются лишь максимальной длиной хранимых значений.

У типа данных TEXT также четыре вида: LONGTEXT, MEDIUMTEXT, TEXT и TINYTEXT, которые соответствуют вышеупомянутым типам BLOB и имеют те же требования к объему памяти и ту же максимальную длину. Единственным различим между типами TEXT и BLOB является учет регистра при сортировке и сравнении данных для значений BLOB и его отсутствие для значений TEXT.

«Символьные типы данных» 👇
Помощь эксперта по теме работы
Найти эксперта
Решение задач от ИИ за 2 минуты
Решить задачу
Помощь с рефератом от нейросети
Написать ИИ

При превышении максимально допустимых значений в столбце TEXT или BLOB введенное значение будет соответствующим образом усечено.

Тип перечисления ENUM

ENUM является столбцом, принимающим значение из списка допустимых значений, которые явно перечислены в спецификации столбца при создании таблицы.

Таким значением может быть также NULL или пустая строка ("") в определенных случаях:

  • вставляется некорректное значение в столбец ENUM (т.е. вставляется строка, не перечисленная в списке допустимых), тогда происходит вставка пустой строки, что указывает на ошибочное значение;
  • ENUM определяется как NULL, тогда NULL также является допустимым значением столбца и NULL является значением по умолчанию.

Тип множества SET

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

Пример 1

Например, столбец, который определен как SET("белый", "синий") NOT NULL может принять следующие значения:

""

"белый"

"синий"

"белый, синий"

Множество SET может содержать до 64 различных элементов.

При вставке в столбец SET некорректного значения эта величина будет проигнорирована.

При сортировке SET-значения выставляются соответственно числовым представлениям, причем NULL-значения выставляются сначала.

Зачастую выполняют SELECT для столбца SET и используют функцию FIND_IN_SET() или оператор LIKE.

Для получения всех возможных значений для столбца SET необходимо вызвать SHOW COLUMNS FROM table_name LIKE set_column_name и сделать анализ SET-определения во втором столбце.

Воспользуйся нейросетью от Автор24
Не понимаешь, как писать работу?
Попробовать ИИ
Дата написания статьи: 28.08.2016
Получи помощь с рефератом от ИИ-шки
ИИ ответит за 2 минуты
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot