Типы данных SQLite с примером

Содержание:

Anonim

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

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

  • Классы хранения
  • Тип сходства
  • Примеры хранения типов данных в SQLite

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

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

Классы хранилища SQLite

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

В SQLite доступны следующие классы хранения:

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

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

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

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

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

  • ТЕКСТ.
  • ЧИСЛОВЫЙ.
  • ЦЕЛОЕ.
  • НАСТОЯЩИЙ.
  • 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:

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

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

  • INT, INTEGER, BIGINT.
  • ИНТ2, ИНТ4, ИНТ8.
  • ТИНИИНТ, МАЛЕНЬКИЙ, СРЕДНИЙ ИНТ.

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

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

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

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

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

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

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

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

Сохранение даты и времени SQLite:

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

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

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

  • ТЕКСТ - если вы вставили значение даты в формате строки ISO8601 («ГГГГ-ММ-ДД ЧЧ: ММ: SS.SSS»).
  • REAL - если вы вставили значение даты в числа юлианских дней, количество дней, прошедших с полудня по Гринвичу 24 ноября 4714 г. до н.э., тогда значение даты будет сохранено как REAL.
  • INTEGER как время Unix, количество секунд с 1970-01-01 00:00:00 UTC.

Резюме:

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