В базе данных MySQL существует множество таблиц, которые содержат несколько столбцов или полей для хранения различных типов данных. Очень важно получить правильные знания о поддерживаемых типах данных MySQL, чтобы создать структуру свойства таблицы базы данных. Каждый тип данных MySQL может хранить данные разных размеров. Каждый тип данных может хранить данные в числовом или строковом формате. Размер и использование различных типов данных MySQL для создания таблицы базы данных были описаны в этом руководстве.
Категории типов данных MySQL:
Типы данных MySQL делятся на следующие категории.
- Строковые данные
- Числовые данные
- Двоичные данные больших объектов
- Данные о дате и времени
- Пространственные данные
- JSON-данные
Типы данных, относящиеся к каждой группе, объясняются ниже с примерами.
- Строковый тип данных
- Числовой тип данных
- Тип данных двоичного большого объекта (BLOB)
- Тип данных дата и время
- Тип пространственных данных
- Тип данных JSON
- Использование типов данных MySQL
- Пример 1: Использование строкового и числового типов данных
- Пример 2: Использование типа данных даты и времени
- Пример 3: Использование пространственного типа данных
- Пример 4: Использование типа данных JSON
- Заключение
Строковый тип данных
Поле строкового типа данных может содержать любые буквенные и цифровые символы для определения строки мелкого и крупного текста, такого как имя, адрес, описание и т. д. Двоичное содержимое, такое как изображение или аудиофайл, может храниться в поле строковый тип данных. Строковые типы данных, поддерживаемые в MySQL, показаны ниже с размером и описанием.
Строковый тип данных | Описание |
CHAR(n) | Он используется для хранения строки фиксированного количества символов. Он может содержать не более 255 символов. Значение аргумента определяет длину строки. Если значение поля CHAR содержит меньше символов, чем значение n, то для оставшихся символов будет добавлено значение пробела. |
VARCHAR(n) | Он используется для хранения строки переменного количества символов. Он также может содержать не более 255 символов. Значение аргумента определяет длину строки. Он не занимает место впустую, как тип данных CHAR. |
TINYTEXT(n) | Он работает как тип данных VARCHAR и может хранить до 255 символов. |
TEXT(n) | Он используется для хранения больших строковых значений, содержащих не более 65 535 символов. |
MEDIUMTEXT(n) | Он хранит большее текстовое значение, чем тип данных TEXT, который может содержать не более 16 777 215 символов. |
LONGTEXT(n) | Он хранит более крупные текстовые значения, чем тип данных MEDIOMTEXT, содержащий максимум 4 ГБ или 4 294 967 295 символов. |
BINARY(n) | Он используется для хранения двоичных символов, и длина этих данных является фиксированной. Он может хранить максимум 255 символов. |
VARBINARY(n) | Он работает как тип данных BINARY, но его длина не является фиксированной. |
ENUM(v1, v2, v3,…,vn) | Полная форма ENUM — это перечисление, используемое для выбора одного значения из нескольких значений. Числовой индекс используется для определения строковых значений. Он может иметь максимум 65 535 значений. |
SET(v1, v2, v3,…,vn) | Он используется для выбора 0 или более значений из списка значений. Он может хранить максимум 64 значения. |
Числовой тип данных
В поле числового типа данных хранится целое число, такое как идентификатор, номер безопасности и т. д., или дробное число, такое как цена, CGPA и т. д. Различные типы числовых типов данных описаны ниже.
Числовой тип данных | Описание |
BIT(n) | Он используется для хранения битовых значений. Количество битов на значение определяется здесь как n. Он может хранить значения от 1 до 64. Значение по умолчанию — 1. |
BOOL/BOOLEAN | Он используется для хранения значений True или False. Значение 0 считается значением False, а любое ненулевое число считается значением True. |
TINYINT(n) | Он используется для хранения целочисленного значения очень маленького размера. Он может хранить значения от -128 до 127 для целых чисел со знаком и от 0 до 255 для целых чисел без знака. n определяет длину числа. |
SMALLINT(n) | Он используется для хранения небольшого целочисленного значения. Он может хранить значения от -32768 до 32767 для целых чисел со знаком и от 0 до 65535 для целых чисел без знака. n определяет длину числа. |
MEDIUMINT(n) | Он используется для хранения целочисленного значения среднего размера. Он может хранить значения от -8388608 до 8388607 для целых чисел со знаком и от 0 до 16777215 для целых чисел без знака. n определяет длину числа. |
INT(n)/ INTEGER(n) | Он используется для хранения целочисленного значения. Он может хранить значения от -2147483648 до 2147483647 для целых чисел со знаком и от 0 до 4294967295 для целых чисел без знака. n определяет длину числа. |
BIGINT(n) | Он используется для хранения целочисленного значения большого размера. Он может хранить значения от –9223372036854775808 до 9223372036854775807 для целых чисел со знаком и от 0 до 18446744073709551615 для целых чисел без знака. n определяет длину числа. |
FLOAT(n, d) | Он используется для хранения небольших дробных чисел. Здесь n определяет длину целого числа, а d определяет длину числа после запятой. Для хранения данных требуется 2 байта, а после запятой можно добавить 24 цифры. Значение n по умолчанию равно 10 и равно 2. |
DOUBLE(n, d) | Он используется для хранения дробных чисел большого размера. Здесь n определяет длину целого числа, а d определяет длину числа после запятой. Для хранения данных требуется 8 байт, а после запятой можно добавить 53 цифры. Значение n по умолчанию равно 16 и равно 4. |
DECIMAL(n, d) | Он используется для определения дробного числа с фиксированной запятой, которое может хранить большее дробное число, чем FLOAT и DOUBLE. Здесь максимальное значение n может быть 65, а максимальное значение d может быть 30. |
Тип данных двоичного большого объекта (BLOB)
Этот тип данных используется для хранения переменного количества двоичных данных. Ниже описаны четыре различных типа типов данных BLOB.
Тип данных BLOB | Описание |
TINYBLOB | Его можно использовать для хранения данных размером не более 255 байт. |
BLOB(n) | Его можно использовать для хранения данных размером не более 65 535 байт. |
MEDIUMBLOB | Его можно использовать для хранения данных размером не более 16 777 215 байт. |
LONGBLOB | Его можно использовать для хранения данных максимум 4 ГБ или 4 294 967 295 байт. |
Тип данных дата и время
Этот тип данных используется для хранения значений, связанных с датой и временем. Поле типа данных даты и времени может хранить значения даты, времени, DateTime, года и отметки времени. Если для значения поля даты и времени указаны недопустимые данные, будет вставлено нулевое значение. Ниже описаны различные типы данных даты и времени.
Тип данных даты и времени | Описание |
DATE | Он используется для отображения даты в формате « гггг-мм-дд». Он может хранить значения от «1000-01-01» до «9999-12-31». |
TIME | Он используется для отображения времени в формате « чч-мм-сс». Он может хранить значения от «-838:59:59» до «838:59:59». |
DATETIME | Он используется для отображения времени в формате « гггг-мм-дд чч-мм-сс ». Он может хранить значения от «1000-01-01 00:00:00» до «9999-12-31 23:59:59». |
YEAR[(2|4)] | Он хранит 2 или 4 цифры значения года. Значение года из двух цифр не поддерживается, начиная с версии MySQL 8.0. |
TIMESTAMP(м) | Он используется для отображения времени в формате «гггг-мм-дд чч-мм-сс». Он может хранить значения от «1970-01-01 00:00:01» UTC до «2038-01-19 03:14:07» UTC. |
Тип пространственных данных
Этот тип данных хранит географические и геометрические данные. Ниже описаны различные типы пространственных данных.
Тип пространственных данных | Описание |
POINT | Он используется для хранения значений координат X и Y точки. |
MULTIPOINT | Он используется для хранения набора нескольких точек. |
POLYGON | Он используется для представления многосторонней геометрии. 0 или более внутренних границ и одна внешняя граница могут быть определены полигональным типом данных. |
MULTIPLYGON | Он используется для хранения набора из нескольких полигональных элементов. |
LINESTRING | Он используется для представления кривой одного или нескольких точечных значений. |
MULTILINESTRING | Он представляет геометрию с несколькими кривыми, которая содержит набор значений LINESTRING. |
GEOMETRY | Он используется для хранения точки или совокупности точек пространственных значений любого типа. |
GEOMETRYCOLLECTION | Он используется для хранения набора из 0 или более значений геометрии. |
Тип данных JSON
Тип данных используется для простого хранения документов JSON и доступа к ним. Этот тип данных используется для проверки данных JSON и автоматического предоставления оптимального места для хранения. Если для поля JSON указаны какие-либо недопустимые данные, это приведет к ошибке.
Предпосылки:
Вы должны создать таблицу базы данных с данными в базе данных MySQL, чтобы проверить использование типов данных MySQL. Откройте терминал и подключитесь к серверу MySQL, выполнив следующую команду.
$ sudo mysql -u root
Выполните следующую команду, чтобы создать базу данных с именем test_db.
CREATE DATABASE test_db;
Выполните следующую команду, чтобы выбрать базу данных.
USE test_db;
Использование типов данных MySQL
В этой части руководства на нескольких примерах показано использование типов данных MySQL для создания таблиц базы данных.
Пример 1: Использование строкового и числового типов данных
Следующий запрос создаст таблицу с пятью полями. Тип данных поля product_id — INT, а первичный ключ будет автоматически увеличиваться. Тип данных поля имени — VARCHAR. Тип данных поля веса — SMALLINT. Тип данных поля модуля — ENUM. Тип данных поля цены — DECIMAL. Выполните следующий запрос, чтобы создать таблицу Products.
CREATE TABLE Products (
product_id int NOT NULL AUTO_INCREMENT,
name varchar(45) NOT NULL,
weight smallint NOT NULL,
unit enum(‘Kg’, ‘Pound’, ‘Gram’),
price decimal(6, 2) NOT NULL,
PRIMARY KEY (product_id));
Выполните следующую команду, чтобы проверить структуру таблицы » Продукты «.
DESCRIBE Products;
Выход:
Следующий вывод появится после выполнения вышеуказанной команды.
Выполните следующий запрос, чтобы прочитать содержимое таблицы Products.
INSERT INTO `Products` (`product_id`, `name`, `weight`, `unit`, `price`) VALUES (NULL, ‘Cake’, ‘500’, ‘Pound’, ‘199.99’);
Выполните следующую команду, чтобы прочитать содержимое таблицы Products.
SELECT * FROM Products;
Выход:
Следующий вывод появится после выполнения вышеуказанной команды.
Пример 2: Использование типа данных даты и времени
Следующий запрос создаст таблицу с четырьмя полями. Тип данных поля product_id — SMALLINT и первичный ключ. Тип данных поля Manufacturing_date — DATETIME. Тип данных поля expired_date — DATETIME. Тип данных поля entry_date — TIMESTAMP. Выполните следующий запрос, чтобы создать таблицу product_validity.
CREATE TABLE product_validity(
product_id SMALLINT(4),
manufacturing_date datetime NOT NULL,
expired_date datetime NOT NULL,
entry_date timestamp,
PRIMARY KEY (product_id));
Выполните следующую команду, чтобы проверить структуру таблицы product_validity.
DESCRIBE product_validity;
Выход:
Следующий вывод появится после выполнения вышеуказанной команды.
Выполните следующий запрос, чтобы прочитать содержимое таблицы product_validity.
INSERT INTO `product_validity` (`product_id`, `manufacturing_date`, `expired_date`, `entry_date`) VALUES (‘1234’, ‘2022-01-03 17:01:35.000000’, ‘2022-01-31 22:01:35’, current_timestamp());
Выполните следующую команду, чтобы прочитать содержимое таблицы product_validity.
SELECT * FROM product_validity;
Выход:
Следующий вывод появится после выполнения вышеуказанной команды.
Пример 3: Использование пространственного типа данных
Следующий запрос создаст таблицу с тремя полями. Тип данных поля id — SMALLINT. Тип данных поля описания — ТЕКСТ. Тип данных геополя — GEOMETRY. Выполните следующий запрос, чтобы создать таблицу geo_table.
CREATE TABLE geo_table (id smallint(3),description text, geo GEOMETRY);
SET @g = ‘POINT(10 3)’;
Выполните следующую команду, чтобы проверить структуру таблицы geo_table.
DESCRIBE geo_table;
Выполните следующий запрос, чтобы вставить запись в таблицу geo_table.
INSERT INTO geo_table VALUES (123,«Testing Data», ST_PointFromText(@g));
Выполните следующий запрос, чтобы прочитать содержимое таблицы geo_table.
SELECT * FROM geo_table;
Пример 4: Использование типа данных JSON
Следующий запрос создаст таблицу данных JSON. Тип данных поля jdata — JSON. Выполните следующий запрос, чтобы создать таблицу jsontable.
CREATE TABLE jsontable (jdata JSON);
Выполните следующую команду, чтобы проверить структуру таблицы jsontable.
DESCRIBE jsontable;
Выполните следующий запрос, чтобы вставить данные JSON.
INSERT INTO jsontable VALUES(‘{«id»: 1209, «name»: «Mir Sabbir»}’);
Выполните следующий запрос, чтобы прочитать записи из таблицы jsontable.
SELECT jdata FROM jsontable;
Заключение
Наиболее часто используемые типы данных MySQL были объяснены в этом руководстве путем создания нескольких таблиц, чтобы прояснить концепцию типов данных MySQL для новых пользователей MySQL.