Учебники

6) Типы данных

Типы данных в SQLite отличаются от других систем управления базами данных. В SQLite вы можете объявить типы данных как обычно, но вы все равно можете хранить любое значение в любом типе данных.

В этом уроке вы узнаете

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

В статических типах, как и в других системах управления базами данных, если вы объявили столбец с целым числом типа данных, вы можете вставить только значения целого типа данных. Однако в динамических типах, таких как SQLite, тип столбца определяется введенным значением. И затем SQLite сохраняет это значение в зависимости от его типа.

Классы хранения SQLite

В SQLite существуют разные методы хранения в зависимости от типа значения, эти разные методы хранения называются классами хранения в SQLite.

Ниже приведены классы хранения, доступные в SQLite:

  • NULL — этот класс хранения используется для хранения любого значения NULL.
  • INTEGER — любое числовое значение сохраняется как целочисленное значение со знаком (может содержать как положительные, так и отрицательные целые значения). Значения INTEGER в SQLite хранятся в 1, 2, 3, 4, 6 или 8 байтах памяти в зависимости от значения числа.
  • REAL — этот класс хранения используется для хранения значений с плавающей запятой, и они хранятся в 8-байтовом хранилище.
  • TEXT — сохраняет текстовые строки. Он также поддерживает различные кодировки, такие как UTF-8, UTF-16 BE или UTF-26LE.
  • BLOB — используется для хранения больших файлов, таких как изображения или текстовые файлы. Значение сохраняется как байтовый массив так же, как входное значение.

Тип близости SQLite

Тип соответствия — это рекомендуемый тип данных, хранящихся в столбце. Тем не менее, вы по-прежнему можете хранить любой тип данных по своему усмотрению, эти типы рекомендуется не требуется.

Эти типы были введены в SQLite для обеспечения максимальной совместимости между SQLite и другими системами управления базами данных.

Любому столбцу, объявленному в базе данных SQLite, присваивается сходство типов в зависимости от объявленного им типа данных. Вот лифт сходства типов в SQLite:

  • ТЕКСТ.
  • NUMERIC.
  • INTEGER.
  • РЕАЛЬНЫЙ.
  • BLOB.

Вот как SQLite определяет сходство столбца с его объявленным типом данных:

  1. Сходство INTEGER назначается, если объявленный тип содержит строку « INT ».
  2. Сходство TEXT назначается, если столбец содержит в своем типе данных одну из следующих строк » TEXT «, » CHAR или» CLOB «. Например, типу VARCHAR будет назначено сходство TEXT.
  3. Сходство с BLOB назначается, если для столбца не указан тип или тип данных BLOB.
  4. REAL сходство назначается, если тип содержит одну из следующих строк « DOUB », « REAL или« FLOAT ».
  5. NUMERIC сходство назначается для любого другого типа данных.

На той же странице также есть таблица, показывающая несколько примеров для сопоставления типов данных SQLite и их сходств, определенных этими правилами:

Все о типах данных в sqlite

Примеры хранения типов данных в SQLite:

Сохранение номера с целым числом SQLite:

Любой столбец типа данных содержит слово «INT», ему будет присвоено сходство типа INTEGER. Он будет храниться в классе хранения INTEGER.

Все следующие типы данных назначаются как сходство типов INTEGER:

  • INT, INTEGER, BIGINT.
  • INT2, INT4, INT8.
  • TINYINT, SMALLINT, MEDIUM INT.

Сходство с типом INTEGER в SQLite может содержать любое назначенное целое число (положительное или отрицательное) от 1 байта до максимум 8 байтов.

Хранение чисел с помощью SQLite REAL:

РЕАЛЬНЫЕ числа — это числа с двойной точностью с плавающей запятой. SQLite хранит действительные числа в виде 8-байтового массива. Вот список типов данных в SQLite, которые вы можете использовать для хранения РЕАЛЬНЫХ чисел:

  • РЕАЛЬНЫЙ.
  • DOUBLE.
  • ДВОЙНАЯ ТОЧНОСТЬ.
  • FLOAT.

Хранение больших данных с помощью SQLite BLOB:

Существует только один способ хранения больших файлов в базе данных SQLite, и он использует тип данных BLOB. Этот тип данных используется для хранения больших файлов, таких как изображения, файлы (из любого типа) и т. Д. Файл преобразуется в байтовый массив и затем сохраняется в том же размере, что и входной файл.

Хранение SQLite Booleans:

SQLite не имеет отдельного класса хранения BOOLEAN. Однако BOOLEAN значения сохраняются как INTEGERS со значениями 0 (как ложь) или 1 (как истина).

Хранение даты и времени SQLite:

Вы можете объявить дату или время в SQLite, используя один из следующих типов данных:

  • СВИДАНИЕ
  • DATETIME
  • TIMESTAMP
  • ВРЕМЯ

Обратите внимание, что в SQLite нет отдельного класса хранения DATE или DATETIME. Вместо этого любые значения, объявленные с одним из предыдущих типов данных, сохраняются в классе хранения в зависимости от формата даты вставленного значения следующим образом:

Резюме:

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