SQLite Типи даних із прикладами: Int, Text, Numeric, Real, Blob

Типи даних в SQLite відрізняються від інших систем керування базами даних. в SQLite, ви можете оголошувати типи даних зазвичай, але ви все ще можете зберігати будь-яке значення в будь-якому типі даних.

SQLite набирається менше. Немає типів даних, ви можете зберігати будь-який тип даних у будь-якому стовпці. Це називається динамічними типами.

У статичних типах, як і в інших системах керування базами даних, якщо ви оголосили стовпець із типом даних integer, ви можете вставляти лише значення типу даних integer. Однак у динамічних типах, як у SQLite, тип стовпця визначається вставленим значенням. І потім SQLite зберігає це значення залежно від його типу.

SQLite Класи зберігання

In SQLite Існують різні методи зберігання залежно від типу значення, ці різні методи зберігання називаються класами зберігання SQLite.

Нижче наведено класи зберігання, доступні в SQLite:

  • NULL – цей клас зберігання використовується для зберігання будь-якого значення NULL.
  • INTEGER – будь-яке числове значення зберігається як ціле число зі знаком (воно може містити як позитивні, так і негативні цілі значення). Значення INTEGER в SQLite зберігаються в 1, 2, 3, 4, 6 або 8 байтах пам’яті залежно від значення числа.
  • НЕРУХОМІСТЬ – цей клас зберігання використовується для зберігання значень з плаваючою комою, і вони зберігаються у 8-байтному сховищі.
  • TEXT – зберігає текстові рядки. Він також підтримує різні кодування, такі як UTF-8, UTF-16 BE або UTF-26LE.
  • ЛИСТОК – використовується для зберігання великих файлів, наприклад зображень або текстових файлів. Значення зберігається як масив байтів, як і вхідне значення.

SQLite Тип спорідненості

Спорідненість типу – це рекомендований тип даних, які зберігаються в стовпці. Однак ви все ще можете зберігати будь-які типи даних за своїм бажанням, ці типи не є обов’язковими.

Ці види були введені в SQLite щоб максимізувати сумісність між SQLite та інші система управління базами даних.

Будь-який стовпець, оголошений у an SQLite базі даних призначається спорідненість типу залежно від оголошеного типу даних. Тут підйом спорідненості типів SQLite:

  • ТЕКСТ.
  • NUMERIC.
  • ЦІЛЕ ЧИСЛО.
  • РЕАЛЬНИЙ.
  • BLOB.

Ось як це зробити SQLite визначає спорідненість стовпця з його оголошеного типу даних:

  1. Спорідненість INTEGER призначається, якщо оголошений тип містить рядок "INT».
  2. Спорідненість TEXT призначається, якщо стовпець містить у своєму типі даних один із таких рядків "TEXT»,«CHARабо "КЛОБ“. Наприклад, типу VARCHAR буде присвоєно спорідненість TEXT.
  3. Спорідненість BLOB призначається, якщо стовпець не має вказаного типу або тип даних є BLOB.
  4. Справжня спорідненість призначається, якщо тип містить один із таких рядків "ДУБ»,«НЕРУХОМІСТЬабо "ПЛОС».
  5. NUMERIC спорідненість призначається для будь-якого іншого типу даних.

На тій самій сторінці також є таблиця з деякими прикладами зіставлення між SQLite типи даних та їх спорідненість визначаються цими правилами:

SQLite Тип спорідненості
Відображення між SQLite типи даних і спорідненості

Приклади зберігання типів даних у SQLite

Зберігання номера с SQLite ціле

Будь-який стовпець типу даних містить слово «INT», йому буде присвоєно споріднення типу INTEGER. Він зберігатиметься в класі зберігання INTEGER.

Усім наведеним нижче типам даних призначається спорідненість типу INTEGER:

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

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

Зберігання чисел с SQLite НЕРУХОМІСТЬ

ДІЙСНІ числа — це числа з подвійною точністю до числа з плаваючою комою. SQLite зберігає дійсні числа у вигляді 8-байтового масиву. Ось список типів даних у SQLite які ви можете використовувати для зберігання РЕАЛЬНИХ чисел:

  • РЕАЛЬНИЙ.
  • ДВОЙНИЙ.
  • ПОДВІЙНА ТОЧНІСТЬ.
  • ПЛАВАТИ.

Зберігання великих даних за допомогою SQLite ЛИСТОК

Є лише один спосіб зберігати великі файли в a SQLite бази даних, і вона використовує тип даних BLOB. Цей тип даних використовується для зберігання великих файлів, таких як зображення, файли (будь-якого типу) тощо. Файл перетворюється на масив байтів, а потім зберігається в тому самому розмірі, що й вхідний файл.

Зберігання SQLite Булеви

SQLite не має окремого класу зберігання BOOLEAN. Однак ЛОГІЧНІ значення зберігаються як ЦІЛІ ЧИСЛА зі значеннями 0 (як false) або 1 (як істина).

Зберігання SQLite дати та час

Ви можете оголосити дату або час у SQLite використовуючи один із таких типів даних:

  • ДАТА ПРОВЕДЕННЯ
  • ДАТА, ЧАС
  • ГРАФІК
  • ЧАС

Зверніть увагу, що немає окремого класу зберігання DATE або DATETIME SQLite. Натомість будь-які значення, оголошені з одним із попередніх типів даних, зберігаються в класі зберігання залежно від формату дати вставленого значення наступним чином:

  • TEXT – якщо ви вставили значення дати у форматі рядка ISO8601 («РРРР-ММ-ДД ГГ:ХМ:СС.ССС»).
  • НЕРУХОМІСТЬ – якщо ви вставите значення дати в юліанські числа днів, кількість днів після полудня в Грінвічі 24 листопада 4714 р. до н.е. Тоді значення дати буде збережено як REAL.
  • INTEGER as Юнекс Час, кількість секунд з 1970-01-01 00:00:00 UTC.

Підсумки

SQLite підтримує широкий діапазон типів даних. Але, в той же час, він дуже гнучкий щодо типів даних. Ви можете помістити будь-який тип значення в будь-який тип даних. SQLite також представив деякі нові концепції в типах даних, як-от спорідненість типів і класи зберігання, на відміну від інших систем керування базами даних.