SQLite - typ danych

Typ danych SQLite to atrybut, który określa typ danych dowolnego obiektu. Każda kolumna, zmienna i wyrażenie ma powiązany typ danych w SQLite.

Tych typów danych można użyć podczas tworzenia tabel. SQLite używa bardziej ogólnego dynamicznego systemu typów. W SQLite typ danych wartości jest powiązany z samą wartością, a nie z jej kontenerem.

Klasy pamięci SQLite

Każda wartość przechowywana w bazie danych SQLite ma jedną z następujących klas pamięci -

Sr.No. Klasa pamięci i opis
1

NULL

Wartość jest wartością NULL.

2

INTEGER

Wartość jest liczbą całkowitą ze znakiem, przechowywaną w 1, 2, 3, 4, 6 lub 8 bajtach, w zależności od wielkości wartości.

3

REAL

Wartość jest wartością zmiennoprzecinkową, przechowywaną jako 8-bajtowa liczba zmiennoprzecinkowa IEEE.

4

TEXT

Wartość to ciąg tekstowy zapisany przy użyciu kodowania bazy danych (UTF-8, UTF-16BE lub UTF-16LE)

5

BLOB

Wartość to zbiór danych przechowywanych dokładnie tak, jak zostały wprowadzone.

Klasa pamięci SQLite jest nieco bardziej ogólna niż typ danych. Na przykład klasa pamięci INTEGER zawiera 6 różnych typów danych typu integer o różnych długościach.

Typ powinowactwa SQLite

SQLite obsługuje koncepcję type affinityna kolumnach. Każda kolumna może nadal przechowywać dane dowolnego typu, ale preferowaną klasą pamięci dla kolumny jest jejaffinity. Każda kolumna tabeli w bazie danych SQLite3 ma przypisane jedno z następujących podobieństw typu -

Sr.No. Podobieństwo i opis
1

TEXT

Ta kolumna przechowuje wszystkie dane przy użyciu klas pamięci NULL, TEXT lub BLOB.

2

NUMERIC

Ta kolumna może zawierać wartości wykorzystujące wszystkie pięć klas pamięci.

3

INTEGER

Zachowuje się tak samo, jak kolumna z powinowactwem NUMERIC, z wyjątkiem wyrażenia CAST.

4

REAL

Zachowuje się jak kolumna z powinowactwem NUMERIC, z wyjątkiem tego, że wymusza wartości całkowite w reprezentacji zmiennoprzecinkowej.

5

NONE

Kolumna z powinowactwem NONE nie preferuje jednej klasy pamięci od innej i nie podejmuje się próby przekształcenia danych z jednej klasy do drugiej.

Nazwy koligacji i typów SQLite

Poniższa tabela zawiera listę różnych nazw typów danych, których można używać podczas tworzenia tabel SQLite3 z odpowiednim zastosowanym powinowactwem.

Typ danych Powinowactwo
  • INT
  • INTEGER
  • TINYINT
  • SMALLINT
  • MEDIUMINT
  • BIGINT
  • UNSIGNED BIG INT
  • INT2
  • INT8
LICZBA CAŁKOWITA
  • CHARACTER(20)
  • VARCHAR(255)
  • RÓŻNA CHARAKTER (255)
  • NCHAR(55)
  • RODZIMY CHARAKTER (70)
  • NVARCHAR(100)
  • TEXT
  • CLOB
TEKST
  • BLOB
  • nie określono typu danych
ŻADEN
  • REAL
  • DOUBLE
  • PODWÓJNA PRECYZJA
  • FLOAT
REAL
  • NUMERIC
  • DECIMAL(10,5)
  • BOOLEAN
  • DATE
  • DATETIME
NUMERYCZNE

Typ danych logicznych

SQLite nie ma oddzielnej klasy pamięci typu Boolean. Zamiast tego wartości logiczne są przechowywane jako liczby całkowite 0 (fałsz) i 1 (prawda).

Typ danych daty i godziny

SQLite nie ma oddzielnej klasy pamięci do przechowywania dat i / lub godzin, ale SQLite może przechowywać daty i godziny jako wartości TEXT, REAL lub INTEGER.

Sr.No. Klasa pamięci i format daty
1

TEXT

Data w formacie takim jak „RRRR-MM-DD GG: MM: SS.SSS”

2

REAL

Liczba dni od południa w Greenwich 24 listopada 4714 rpne

3

INTEGER

Liczba sekund od 1970-01-01 00:00:00 UTC

Możesz wybrać przechowywanie dat i godzin w dowolnym z tych formatów i swobodnie konwertować między formatami za pomocą wbudowanych funkcji daty i czasu.