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

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

Программой MySQL поддерживается несколько типов данных: строковые, календарные, числовые данные и данные NULL-типа.

Рассмотрим некоторые из них.

Строковые типы данных

CHAR (N) – предназначен для хранения строки фиксированной длины N. Число N может принимать значения от 0 до 65 535. Занимаемый объем памяти – N символов, максимальный размер – N символов.

Пример 1

CHAR (7) хранит строку из 7 символов и занимает 7 байт. К примеру, строки ‘Сергей’, ‘Наталия’, ‘Ольга’ будут занимать по 7 байт памяти. Если ввести строку ‘Владислав’, она будет усечена до ‘Владисл’, то есть до 7 символов.

VARCHAR (N) – предназначен для хранения переменных строк длиной K. Число N может принимать значения 0 до 65 535. Занимаемый объем памяти K+1 символ, максимальный размер – N символов.

Пример 2

VARCHAR (4) хранит строку максимум из 4 символов, при этом пустая строка ‘’ будет занимать 1 байт памяти, ‘t’ – 2 байта, ‘to’ – 3 байта, ‘toy’ – 4 байта и т.д. Если введенное значение будет больше 4 символов, то оно будет усечено до 4.

TEXT – хранит большой объем текста. Занимаемый объем памяти K+2 символа, максимальный размер – 216-1 символ.

BLOB – хранит данные больших объемов (изображения, звук, электронные документы и т.д.). Занимаемый объем памяти K+2 символа, максимальный размер – 216-1 символ.

MEDIUMTEXT и MEDIUMBLOB являются аналогичными предыдущим типам данных, но с занимаемым объемом памяти K+3 символа и максимальным размером – 224-1 символ.

LONGTEXT и LONGBLOB аналогичны предыдущим типам данных, но с занимаемым объемом памяти K+4 символа и максимальным размером – 232-1 символ.

ENUM (‘значение1’, ‘значение2’, $\cdots$, ‘значениеN’) – хранит строки лишь одного из значений указанного множества. Занимаемый объем памяти – 1 или 2 байта, максимальный размер – 65 535 элементов.

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

ENUM (‘лето’, ‘зима’) хранит в столбце лишь одно из указанных значений.

SET (‘значение1’, ‘значение2’, $\cdots$, ‘значениеN’) – хранит строки лишь одного или всех значений указанного множества. Занимаемый объем памяти – до 8 байт, максимальный размер – 64 элемента.

Пример 4

SET (‘лето’, ‘зима’) – хранит в столбце одно из перечисленных значений, оба или может не содержать значения.

Календарные типы данных

DATE – хранит даты. Первое значение указывает на год в формате "YYYY", далее через дефис указывается месяц в формате "ММ", после – день в формате "DD". Разделителем может быть кроме дефиса любой символ, но только не цифра. Занимаемый объем памяти – 3 байта, диапазон – от ‘1000-01-01’ до ‘9999-12-31’.

TIME – хранит время суток. Значение записывается в формате hh:mm:ss:

hh – часы,

mm – минуты,

ss – секунды.

Разделителем может быть любой символ, но только не цифра.

Занимаемый объем памяти – 3 байта, диапазон – от ‘-838:59:59’ до ‘838:59:59’.

DATATIME– хранит дату и время суток. Значение записывается в формате YYYY-MM-DD hh:mm:ss.

Разделителем может быть любой символ, но только не цифра.

Занимаемый объем памяти – 8 байт, диапазон – от ‘1000-01-01 00:00:00’ до ‘9999-12-31 23:59:59’.

TIMESTAMP – хранит дату и время суток, которое записывается количеством секунд с полуночи 01.01.1970 (с начала эпохи UNIX).

Занимаемый объем памяти – 4 байта, диапазон – от ‘1970-01-01 00:00:00’ до ‘2037-12-31 23:59:59’.

YEAR (N) – хранит год. С помощью числа N задается формат года.

Занимаемый объем памяти – 1 байт, диапазон: для N=2 – от 1970 до 2069; для N=4 – от 1901 до 2155.

Тип данных NULL

По сути NULL не является типом данных, он указывает на возможность отсутствия значения.

Пример 5

Например, при регистрации на сайте необходимо заполнить форму, которая содержит обязательные и необязательные для заполнения поля. Обязательными полями являются поля Логин и Пароль, а необязательными могут быть поля Дата рождения, Пол и т.д.

Для хранения такой информации в базе данных используется 2 значения:

  • NOT NULL (значение не может быть пустым) – для поля Логин и Пароль;
  • NULL (значение может быть пустым) – для поля Дата рождения и Пол.

Тип NOT NULL присваивается всем полям таблицы по умолчанию.

Воспользуйся нейросетью от Автор24
Не понимаешь, как писать работу?
Попробовать ИИ
Дата написания статьи: 05.08.2016
Найди решение своей задачи среди 1 000 000 ответов
Крупнейшая русскоязычная библиотека студенческих решенных задач
Все самое важное и интересное в Telegram

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

Перейти в Telegram Bot