Хорошие определения полей необходимы для оптимизации вашей базы данных. Идеальный подход требует, чтобы вы использовали исключительно поле нужного типа и размера. Например, если вы будете использовать только поле шириной пять символов, не определяйте поле шириной 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 представлены внутри как целочисленные значения.