Типы данных SQLite с примером: Int, Text, Numeric, Real, Blob

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

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

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

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

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

Фоллоwing являются классами хранения, доступными в SQLite:

  • NULL, – этот класс хранения используется для хранения любого значения NULL.
  • ЦЕЛОЕ – любое числовое значение сохраняется как целое число со знаком (оно может содержать как положительные, так и отрицательные целочисленные значения). Значения INTEGER в SQLite хранятся в 1, 2, 3, 4, 6 или 8 байтах памяти в зависимости от значения числа.
  • РЕАЛ – этот класс хранения используется для хранения значений с плавающей запятой, и они хранятся в 8-байтовом хранилище.
  • ТЕКСТ – хранит текстовые строки. Он также поддерживает различные кодировки, такие как UTF-8, UTF-16 BE или UTF-26LE.
  • Большой двоичный объект – используется для хранения больших файлов, таких как изображения или текстовые файлы. Значение сохраняется в виде массива байтов так же, как и входное значение.

Тип соответствия SQLite

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

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

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

  • ТЕКСТ.
  • ЦИФРОВОЙ.
  • ЦЕЛОЕ.
  • НАСТОЯЩИЙ.
  • БЛОБ.

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

  1. Сходство INTEGER назначается, если объявленный тип содержит string INT».
  2. Привязка ТЕКСТ назначается, если столбец содержит в своем типе данных один из следующих типов:wing струны »ТЕКСТ»,«CHAR, или "КЛОБ«. Например, типу VARCHAR будет присвоено соответствие ТЕКСТ.
  3. Привязка BLOB назначается, если для столбца не указан тип или тип данных — BLOB.
  4. НАСТОЯЩЕЕ сходство назначается, если тип содержит одно из следующих значений:wing струны »ДУБ»,«РЕАЛ, или "FLOAT».
  5. NUMERIC сходство назначается для любого другого типа данных.

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

Тип соответствия SQLite
Сопоставление между типами данных SQLite и сходством

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

Сохранение числа с помощью целого числа SQLite

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

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

  • ЦЕЛОЕ, ЦЕЛОЕ, БОЛЬШОЕ.
  • ИНТ2, ИНТ4, ИНТ8.
  • TINYINT, SMALLINT, MEDIUM INT.

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

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

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

  • НАСТОЯЩИЙ.
  • ДВОЙНОЙ.
  • ДВОЙНАЯ ТОЧНОСТЬ.
  • ПЛАВАТЬ.

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

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

Хранение логических значений SQLite

SQLite не имеет отдельного класса хранения BOOLEAN. Однако значения BOOLEAN сохраняются как ЦЕЛЫЕ ЧИСЛА со значениями 0 (как ложь) или 1 (как истина).

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

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

  • ДАТА
  • ДАТА ВРЕМЯ
  • ВРЕМЯ
  • ВРЕМЯ

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

  • ТЕКСТ – если вы вставили значение даты в формате строки ISO8601 («ГГГГ-ММ-ДД ЧЧ:ММ:СС.ССС»).
  • РЕАЛ – если вы вставили значение даты в число дней по юлианскому календарю, количество дней с полудня в Гринвиче 24 ноября 4714 г. до н.э. Тогда значение даты будет сохранено как РЕАЛЬНОЕ.
  • ЦЕЛОЕ as Юникс Время, количество секунд с 1970-01-01 00:00:00 UTC.

Итоги

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