Введение в типы данных SQL

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

Мы будем широко классифицировать типы данных SQL, а затем исследовать различные типы и примеры в этих категориях.

Примечание. Не все системы управления базами данных поддерживают все типы данных. Например, Oracle не поддерживает DateTime. Эти особенности приведены вместе с описанием типа данных в статье. Рекомендуется помнить об этом при разработке базы данных. Точно так же есть много других типов данных, которые являются определенными для любой конкретной системы управления базами данных. Например, MS SQL имеет тип данных money. Такие типы не являются общими и выходят за рамки данной статьи.

Типы данных SQL

1. Бинарный

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

Двоичный (размер): хранит двоичные строки байтов с длиной столбца, указанной параметром размера. Размер столбца фиксирован. Если размер определен как 10 байтов, а сохраненные данные - 5 байтов, оставшиеся 5 байтов все еще заняты в памяти столбцом. Эти оставшиеся байты дополняются нулями справа большинством анализаторов SQL. Максимально возможный размер составляет 8000 байт.

Varbinary (размер): хранит двоичные байтовые строки длины столбца, указанного параметром размера. Размер столбца не является фиксированным. Если размер определен как 10 байтов, а сохраненные данные - 5 байтов, столбец занимает только 5 байтов в памяти. Максимально возможный размер составляет 8000 байт.

Varbinary (max): указание ключевого слова max в параметре размера увеличивает максимально возможный размер до 2 ГБ и выделяет переменный размер столбцам на основе хранимых данных. Этот тип данных не поддерживается MySQL.

Пример:

create table BinaryDataTypes (col_binary BINARY(5), col_varbinary VARBINARY(5));
insert into BinaryDataTypes values (101, 121);
select * from BinaryDataTypes;

insert into BinaryDataTypes values (12345, 123456);
insert into BinaryDataTypes values (123456, 123456);

Ошибка возникает из-за того, что мы определили размер столбцов только в 5 байтов.

2. Персонаж / Строка

Эти типы данных хранят либо один символ, либо последовательность символов, образующих строку. К ним относятся символы, цифры и специальные символы. Характер символов, однако, ограничен только символами, отличными от Юникода.

Char (size): хранит символьные строки фиксированной длины длины, указанной параметром size. Размер столбца работает аналогично типу данных BINARY. Размер по умолчанию составляет 1 символ. Максимум 255 в большинстве систем управления базами данных.

Varchar (размер): хранит символьные строки переменной длины. Однако длина, указанная параметром размера, определяет максимальную длину столбца. Максимально возможная длина составляет 65535 символов.

Varchar (max): указание ключевого слова max в параметре размера увеличивает максимально возможный размер до 2 ГБ и выделяет переменный размер столбцам на основе сохраненных данных. Этот тип данных не поддерживается MySQL.

Текст: MySQL поддерживает текстовый тип данных вместо varchar (max). Текст также увеличивает максимально возможный размер до 2 ГБ.

Пример:

create table CharacterDataTypes (col_char CHAR(300));

create table CharacterDataTypes (col_char CHAR(20), col_varchar VARCHAR(20), col_text TEXT);
insert into CharacterDataTypes values ('Hello World', 'How you doing?', 'This is an incredibly longer text to demonstrate the data type text in MySQL. The data type text makes it possible to store 2GB of data in a column. That\'s equal to 2*1024*1024*1024 = over 2.14 billion characters. Whoa!');

3. Unicode Символ / Строка

Эти типы данных хранят либо один, либо строку символов Unicode.

Nchar (размер): это похоже на тип данных char и также поддерживает символы Unicode. Максимальный предел, однако, уменьшен до 4000 байтов.

Nvarchar (размер): аналогичен типу данных nvarchar и поддерживает символы Unicode. Максимальный предел, однако, уменьшен до 4000 байтов.

Nvarchar (max): указание ключевого слова max в параметре размера увеличивает максимально возможный размер до 1 ГБ и выделяет переменный размер столбцам на основе хранимых данных. Этот тип данных не поддерживается MySQL.

Ntext: MySQL поддерживает тип данных ntext вместо nvarchar (max). Ntext также увеличивает максимально возможный размер до 1 ГБ.

Пример:

create table UnicodeCharacterDataTypes (col_unicode_char NCHAR(200));
insert into UnicodeCharacterDataTypes values ('局层局层');
select * from UnicodeCharacterDataTypes;

4. Числовой

Числовые типы данных поддерживают целые и действительные / дробные / десятичные числа.

Bit / Bool / Boolean: эти типы данных хранят только два значения - 0 и 1. 0 обозначает false, а 1 обозначает true. Немного поддерживается большинством баз данных. Некоторые расширенные базы данных также поддерживают bool и boolean.

INT: хранит положительные и отрицательные целые числа размером до 4 байт. Это означает, что значение должно находиться в диапазоне (-2147483648, 2147483647). При указании ключевого слова unsigned в столбце хранятся только положительные значения в диапазоне (0, 4294967295).

TINYINT: хранит положительные и отрицательные целые числа размером до 1 байта. Это означает, что значение должно находиться в диапазоне (-128, 127). При указании ключевого слова unsigned в столбце хранятся только положительные значения в диапазоне (0, 255).

Smallint: хранит положительные и отрицательные целые числа размером до 2 байт. Это означает, что значение должно находиться в диапазоне (-32768, 32767). При указании ключевого слова unsigned в столбце хранятся только положительные значения в диапазоне (0, 65535).

Bigint: хранит положительные и отрицательные целые числа размером до 8 байт. Это означает, что значение должно находиться в диапазоне (-2 63, 2 63 -1). При указании ключевого слова unsigned в столбце хранятся только положительные значения в диапазоне (0, 2 64 -1).

Десятичное число (размер, D): хранит число с фиксированной запятой. Размер параметра указывает общее количество цифр, а d указывает количество цифр после десятичной точки. Значения по умолчанию для размера и d равны 10 и 0 соответственно.

Float (размер, D) / Double (размер, D): хранит число с плавающей запятой. Float используется для меньших чисел размером до 4 байт. Double хранит большие числа. Однако double поддерживается не всеми базами данных.

Знание вне учебного плана . Разница между числами с фиксированной и плавающей точкой заключается в том, что десятичная точка фиксируется в одном и плавающая в другом. Фиксированная точка означает, что количество цифр фиксируется после и до десятичной точки. С плавающей точкой означает, что число цифр до и после десятичной точки может варьироваться относительно значимости цифр в числе.

Пример:

create table NumericDataTypes (col_tinyint_u TINYINT UNSIGNED, col_smallint SMALLINT, col_int INT, col_bigint BIGINT UNSIGNED, col_decimal DECIMAL(5, 2), col_float FLOAT);
insert into NumericDataTypes values (255, -32768, 1234567890, (POWER(2, 63)-1), 987.65, 987.65);

5. Дата и время

  1. Дата: Хранит данные в формате ГГГГ-ММ-ДД, ограниченный от 1000-01-01 до 9999-12-31.
  2. Время: сохраняет время в формате чч: мм: сс.
  3. DateTime: хранит дату и время.
  4. TimeStamp: отметка времени используется для отметки отметки времени всякий раз, когда строка вводится или обновляется в таблице. Обычно это делается с помощью ключевых слов DEFAULT CURRENT_TIMESTAMP и ON UPDATE CURRENT_TIMESTAMP.

Пример:

create table DateTimeDataTypes (col_date DATE, col_time TIME, col_datetime DATETIME, col_ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP);
insert into DateTimeDataTypes(col_date, col_time, col_datetime) values (CURDATE(), '08:50:41', NOW());

6. Разные типы данных SQL

  • CLOB: CLOB обозначает Персонаж Большие Объекты. Они могут содержать символьные данные до 2 ГБ. Не поддерживается MySQL, хотя. MySQL использует Text для достижения того же.
  • BLOB: BLOB обозначает большие двоичные объекты. Они используются для хранения бинарных объектов размером до 2 ГБ. Обычно изображения преобразуются в двоичные объекты и хранятся в столбцах BLOB.
  • XML: используется для хранения данных XML.
  • JSON: используется для хранения данных JSON. Не поддерживается MySQL.

Вывод - типы данных SQL

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

Рекомендуемые статьи

Это руководство по типам данных SQL. Здесь мы обсуждаем Введение, Типы данных SQL, Символ / Строка, Символ / Строка в Юникоде и Числовой. Вы также можете просмотреть наши другие предлагаемые статьи, чтобы узнать больше -

  1. Типы данных PostgreSQL
  2. Типы OLAP
  3. Типы вредоносных программ
  4. SQL WHERE предложение
  5. Ключевые слова PHP
  6. C ++ Ключевые слова
  7. Лучшие 3 типа данных PHP с примерами
  8. Примеры реализации оператора INSERT