Типи даних 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. РЕАЛЬНА спорідненість присвоюється, якщо тип містить один із наступних рядків " DOUB ", " REAL або" FLOAT ".
  5. NUMERIC спорідненість призначається для будь-якого іншого типу даних.

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

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

Зберігання номера з цілим числом SQLite:

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

Усі наступні типи даних присвоюються як спорідненість типу INTEGER:

  • INT, INTEGER, BIGINT.
  • INT2, INT4, INT8.
  • TINYINT, SMALLINT, середній INT.

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

Зберігання номерів за допомогою SQLite REAL:

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

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

Зберігання великих даних за допомогою SQLite BLOB:

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

Зберігання логічного значення SQLite:

SQLite не має окремого класу зберігання BOOLEAN. Однак значення BOOLEAN зберігаються як INTEGERS зі значеннями 0 (як false) або 1 (як true).

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

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

  • ДАТА
  • ДАТА, ЧАС
  • ГРАФІК
  • ЧАС

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

  • ТЕКСТ - якщо ви вставили значення дати у форматі рядка ISO8601 ("РРРР-ММ-ДД ЧЧ: ММ: SS.SSS").
  • РЕАЛЬНЕ - якщо ви вставили значення дати в числах днів Джуліана, кількість днів з обіду в Грінвічі 24 листопада 4714 р. До н. Е. Тоді значення дати буде зберігатися як РЕАЛЬНЕ.
  • INTEGER як час Unix, кількість секунд з 1970-01-01 00:00:00 UTC.

Короткий зміст:

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