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

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

Для начала разберём что такое «типы данных».
Типы данных определяют: какие значения могут храниться в столбце и сколько они будут занимать места в памяти. При создании таблицы для всех ее столбцов необходимо указать определенный тип данных.
Основные используемые в SQL типы можно условно разделить на несколько категорий:

  • Целочисленные типы;
  • Дробные типы;
  • Символьные типы;
  • Денежные типы;
  • Временные типы(дата/время);

 

Целочисленные типы данных

Тип данныхОписание
INTEGER/INT(size)
Хранение целочисленных значений, образующих диапазон [-2^31; 2^31-1]
SMALLINT
(size)
Характеризуется увеличенным диапазоном хранимых значений в размере
от -32 768 до 32 767
TINYINT
(size)
Служит для хранения чисел в диапазоне от -128 до 127
MEDIUMINT (size) Используется для хранения чисел размерностью от -2^23 до 2^23-1
BIGINT (size) Охватывает диапазон целочисленных значений, начиная с -2^63 и заканчивая 2^63-1

Дробные типы данных

Тип данныхОписание
FLOAT (size, d) Позволяет содержать дробные числа указываемой точности d.
DOUBLE (size, d) Используется для хранения дробных чисел с двоичной точностью.
DECIMAL
(size, d)
Хранение дробных значений в виде строк.

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

Тип данныхОписание
CHAR(size)Используется для хранения строк. Параметр в скобках позволяет фиксировать длину хранимой строки. Максимальный размер в байтах, который можно задать для строки, – 255.
VARCHAR (size) Аналогично предыдущему типу позволяет хранить строки длиной до 255 символов. Однако отличие от CHAR в том, что для хранения значения данного типа выделяется требуемое количество памяти. То есть для строки, состоящей из 5-ти символов, потребуется 6 байт памяти. В первом же случае память для значения будет выделена согласно указанному параметру.
NCHAR(size)Строковые данные постоянной длины в Юникоде. n определяет длину строки и должно иметь значение от 1 до 4000. Размер при хранении составляет удвоенное значение size в байтах. Рекомендуется использовать nchar, если размеры элементов данных в столбцах предполагаются сходные.
NVARCHAR
(size| max)
Строковые данные переменной длины в Юникоде. Size определяет длину строки и может иметь значение от 1 до 4000. Значение max указывает, что максимальный размер при хранении составляет 2^31-1 символов (2 ГБ). Рекомендуется использовать nvarchar, если размеры элементов данных в столбцах предполагаются различные.
TEXTДанные переменной длины не в Юникоде в кодовой странице сервера и с максимальной длиной строки 2^31-1 (2 147 483 647).
NTEXTДанные переменной длины в кодировке Юникод с максимальной длиной строки 2^30 - 1 (1 073 741 823) байт.

Денежный тип данных

Тип данныхОписание
MONEYДанные переменной длины не в Юникоде в кодовой странице сервера и с максимальной длиной строки 2^31-1 (2 147 483 647).
SMALL-MONEYПредставляет такие же значения, что и тип MONEY, но длиной в 4 байта.

Временные типы(дата/время)

Тип данныхОписание
DATEГлавное предназначение - хранение даты в формате ГОД-МЕСЯЦ-ДЕНЬ (“ГГГГ-MM-ДД” или "уууу-mm-dd" ).
TIMEПозволяет заносить в ячейку таблицы временные значения. Все значения задаются форматом «hh:mm:ss».
DATETIMEОбъединяет функции предыдущих двух типов. Формат хранения представлен следующим образом: «уууу-mm-dd hh:mm:ss».
TIMESTAMPСохраняет дату и время, исчисляемое количеством секунд, прошедших начиная с полуночи 1.01.1970 года и до заданного значения.

Примеры использования типов данных

Рассмотрим на примере, как использовать типы данных в SQL.

Создадим таблицу Чекив которой будет хранится основная информация о покупке.
Первая строка нас пока не интересует(она будет разобрана в другом уроке: «SQL: Create Table»).
id — является счётчиком(она хранит в себе индивидуальный номер чека), следовательно принадлежит к целочисленному типу данных, поэтому делаем её INT или же INTEGER.  NOT NULLговорит о том, что переменная не может быть пустой.
В  Name — будем хранить название товара. Так как столбец будет хранить символы используем VARCHARПосле указания типа выделяем память, под название( в нашем случаи это (50)).
Следующие столбцы таблицы создаются по аналогии.

Добавить комментарий