Учебники

MariaDB — Типы данных

Хорошие определения полей необходимы для оптимизации вашей базы данных. Идеальный подход требует, чтобы вы использовали исключительно поле нужного типа и размера. Например, если вы будете использовать только поле шириной пять символов, не определяйте поле шириной 20 символов. Типы полей (или столбцов) также называются типами данных, учитывая типы данных, хранящиеся в поле.

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

Числовые типы данных

Числовые типы данных, поддерживаемые MariaDB, следующие:

  • TINYINT — этот тип данных представляет маленькие целые числа, попадающие в диапазон со знаком от -128 до 127 и диапазон без знака от 0 до 255.

  • BOOLEAN — этот тип данных связывает значение 0 с «ложью» и значение 1 с «истиной».

  • SMALLINT — этот тип данных представляет целые числа в диапазоне со знаком от -32768 до 32768 и в диапазоне без знака от 0 до 65535.

  • MEDIUMINT — этот тип данных представляет целые числа в диапазоне со знаком от -8388608 до 8388607 и в диапазоне без знака от 0 до 16777215.

  • INT (также INTEGER) — этот тип данных представляет целое число нормального размера. Если он помечен как неподписанный, диапазон составляет от 0 до 4294967295. При подписании (настройка по умолчанию) диапазон охватывает от -2147483648 до 2147483647. Когда для столбца установлено значение ZEROFILL (состояние без знака), все его значения добавляются с нулями для размещения M цифр в значении INT.

  • BIGINT — этот тип данных представляет целые числа в диапазоне со знаком от 9223372036854775808 до 9223372036854775807 и в диапазоне без знака от 0 до 18446744073709551615.

  • DECIMAL (также DEC, NUMERIC, FIXED) — этот тип данных представляет точные числа с фиксированной запятой, где M задает цифры и D указывает цифры после запятой. Значение M не добавляет «-» или десятичную точку. Если для D установлено значение 0, десятичная дробь или дробная часть не отображаются, и значение будет округлено до ближайшего десятичного числа при вставке. Максимально допустимые цифры — 65, а максимальные для десятичных чисел — 30. Значение по умолчанию для M при пропуске составляет 10, и 0 для D при пропуске.

  • FLOAT — этот тип данных представляет собой небольшое число с плавающей запятой значения 0 или число в следующих диапазонах —

    • -3.402823466E + 38 до -1.175494351E-38

    • 1.175494351E-38 до 3.402823466E + 38

  • DOUBLE (также REAL и DOUBLE PRECISION) — этот тип данных представляет числа с плавающей точкой нормального размера со значением 0 или в следующих диапазонах —

    • -1,7976931348623157E + 308 до -2,2250738585072014E-308

    • 2.2250738585072014E-308 до 1.7976931348623157E + 308

  • BIT — этот тип данных представляет битовые поля, где M указывает количество бит на значение. В случае пропуска M по умолчанию используется значение 1. Битовые значения можно применять с помощью «b» [значение] », в котором значение представляет битовое значение в 0 с и 1 с. Заполнение нулями происходит автоматически слева для полной длины; например, «10» становится «0010».

TINYINT — этот тип данных представляет маленькие целые числа, попадающие в диапазон со знаком от -128 до 127 и диапазон без знака от 0 до 255.

BOOLEAN — этот тип данных связывает значение 0 с «ложью» и значение 1 с «истиной».

SMALLINT — этот тип данных представляет целые числа в диапазоне со знаком от -32768 до 32768 и в диапазоне без знака от 0 до 65535.

MEDIUMINT — этот тип данных представляет целые числа в диапазоне со знаком от -8388608 до 8388607 и в диапазоне без знака от 0 до 16777215.

INT (также INTEGER) — этот тип данных представляет целое число нормального размера. Если он помечен как неподписанный, диапазон составляет от 0 до 4294967295. При подписании (настройка по умолчанию) диапазон охватывает от -2147483648 до 2147483647. Когда для столбца установлено значение ZEROFILL (состояние без знака), все его значения добавляются с нулями для размещения M цифр в значении INT.

BIGINT — этот тип данных представляет целые числа в диапазоне со знаком от 9223372036854775808 до 9223372036854775807 и в диапазоне без знака от 0 до 18446744073709551615.

DECIMAL (также DEC, NUMERIC, FIXED) — этот тип данных представляет точные числа с фиксированной запятой, где M задает цифры и D указывает цифры после запятой. Значение M не добавляет «-» или десятичную точку. Если для D установлено значение 0, десятичная дробь или дробная часть не отображаются, и значение будет округлено до ближайшего десятичного числа при вставке. Максимально допустимые цифры — 65, а максимальные для десятичных чисел — 30. Значение по умолчанию для M при пропуске составляет 10, и 0 для D при пропуске.

FLOAT — этот тип данных представляет собой небольшое число с плавающей запятой значения 0 или число в следующих диапазонах —

-3.402823466E + 38 до -1.175494351E-38

1.175494351E-38 до 3.402823466E + 38

DOUBLE (также REAL и DOUBLE PRECISION) — этот тип данных представляет числа с плавающей точкой нормального размера со значением 0 или в следующих диапазонах —

-1,7976931348623157E + 308 до -2,2250738585072014E-308

2.2250738585072014E-308 до 1.7976931348623157E + 308

BIT — этот тип данных представляет битовые поля, где M указывает количество бит на значение. В случае пропуска M по умолчанию используется значение 1. Битовые значения можно применять с помощью «b» [значение] », в котором значение представляет битовое значение в 0 с и 1 с. Заполнение нулями происходит автоматически слева для полной длины; например, «10» становится «0010».

Типы данных даты и времени

Типы данных даты и времени, поддерживаемые MariaDB, следующие:

  • ДАТА. Этот тип данных представляет диапазон дат от 1000-01-01 до 9999-12-31 и использует формат даты «ГГГГ-ММ-ДД».

  • ВРЕМЯ. Этот тип данных представляет диапазон времени от «-838: 59: 59,999999» до «838: 59: 59,999999».

  • DATETIME — этот тип данных представляет диапазон «1000-01-01 00: 00: 00.000000» до «9999-12-31 23: 59: 59.999999». Используется формат «ГГГГ-ММ-ДД ЧЧ: ММ: СС». ,

  • TIMESTAMP — этот тип данных представляет временную метку в формате «ГГГГ-ММ-ДД ЧЧ: ММ: ДД». Он главным образом находит применение при детализации времени модификаций базы данных, например, вставки или обновления.

  • ГОД — этот тип данных представляет год в 4-значном формате. Четырехзначный формат допускает значения в диапазоне от 1901 до 2155 и 0000.

ДАТА. Этот тип данных представляет диапазон дат от 1000-01-01 до 9999-12-31 и использует формат даты «ГГГГ-ММ-ДД».

ВРЕМЯ. Этот тип данных представляет диапазон времени от «-838: 59: 59,999999» до «838: 59: 59,999999».

DATETIME — этот тип данных представляет диапазон «1000-01-01 00: 00: 00.000000» до «9999-12-31 23: 59: 59.999999». Используется формат «ГГГГ-ММ-ДД ЧЧ: ММ: СС». ,

TIMESTAMP — этот тип данных представляет временную метку в формате «ГГГГ-ММ-ДД ЧЧ: ММ: ДД». Он главным образом находит применение при детализации времени модификаций базы данных, например, вставки или обновления.

ГОД — этот тип данных представляет год в 4-значном формате. Четырехзначный формат допускает значения в диапазоне от 1901 до 2155 и 0000.

String DataTypes

Значения строкового типа, поддерживаемые MariaDB, следующие:

Строковые литералы — этот тип данных представляет последовательности символов, заключенные в кавычки.

CHAR — этот тип данных представляет собой строку фиксированной длины с правым отступом, содержащую пробелы указанной длины. M представляет длину столбца символов в диапазоне от 0 до 255, его значение по умолчанию равно 1.

VARCHAR — этот тип данных представляет строку переменной длины с диапазоном M (максимальная длина столбца) от 0 до 65535.

BINARY — этот тип данных представляет двоичные байтовые строки с длиной столбца M в байтах.

VARBINARY — этот тип данных представляет двоичные строки байтов переменной длины, с длиной столбца M.

TINYBLOB — этот тип данных представляет столбец BLOB-объектов с максимальной длиной 255 (28 — 1) байтов. В хранилище каждый использует однобайтовый префикс длины, указывающий количество байтов в значении.

BLOB — этот тип данных представляет столбец BLOB-объектов с максимальной длиной 65 535 (216 — 1) байтов. В хранилище каждый использует двухбайтовый префикс длины, указывающий количество байтов в значении.

MEDIUMBLOB — этот тип данных представляет столбец BLOB-объектов с максимальной длиной 16 777 215 (22 4 — 1) байтов. В хранилище каждый использует трехбайтовый префикс длины, указывающий количество байтов в значении.

LONGBLOB — этот тип данных представляет столбец BLOB-объектов с максимальной длиной 4 294 967 295 (2 32 — 1) байтов. В хранилище каждый использует четырехбайтовый префикс длины, указывающий количество байтов в значении.

TINYTEXT — этот тип данных представляет собой текстовый столбец с максимальной длиной 255 (2 8 — 1) символов. В хранилище каждый использует однобайтовый префикс длины, указывающий количество байтов в значении.

TEXT — этот тип данных представляет собой текстовый столбец с максимальной длиной 65 535 (2 16 — 1) символов. В хранилище каждый использует двухбайтовый префикс длины, указывающий количество байтов в значении.

MEDIUMTEXT — этот тип данных представляет собой текстовый столбец с максимальной длиной 16 777 215 (2 24 — 1) символов. В хранилище каждый использует трехбайтовый префикс длины, указывающий количество байтов в значении.

LONGTEXT — этот тип данных представляет собой текстовый столбец с максимальной длиной 4 294 967 295 или 4 ГБ (2 32 — 1) символов. В хранилище каждый использует четырехбайтовый префикс длины, указывающий количество байтов в значении.

ENUM — этот тип данных представляет строковый объект, имеющий только одно значение из списка.

SET — этот тип данных представляет строковый объект, имеющий ноль или более значений из списка, с максимум 64 членами. Значения SET представлены внутри как целочисленные значения.