SQLite Typy dat s příkladem: Int, Text, Numeric, Real, Blob
Datové typy v SQLite se liší od jiných systémů pro správu databází. v SQLite, můžete datové typy deklarovat normálně, ale stále můžete uložit libovolnou hodnotu v jakémkoli datovém typu.
SQLite se píše méně. Neexistují žádné datové typy, do libovolného sloupce můžete uložit libovolný typ dat, který chcete. Tomu se říká dynamické typy.
Pokud jste ve statických typech, stejně jako v jiných systémech správy databází, deklarovali sloupec s datovým typem integer, můžete vkládat pouze hodnoty datového typu integer. Nicméně v dynamických typech, jako je v SQLite, typ sloupce je určen vloženou hodnotou. A pak SQLite ukládá tuto hodnotu v závislosti na jejím typu.
SQLite Třídy skladování
In SQLite existují různé způsoby ukládání v závislosti na typu hodnoty, tyto různé způsoby ukládání se nazývají třídy úložiště v SQLite.
Níže jsou uvedeny třídy úložiště dostupné v SQLite:
- NULL – tato třída úložiště se používá k uložení libovolné hodnoty NULL.
- INTEGER – libovolná číselná hodnota je uložena jako celočíselná hodnota se znaménkem (může obsahovat kladné i záporné celočíselné hodnoty). Hodnoty INTEGER v SQLite jsou uloženy buď v 1, 2, 3, 4, 6 nebo 8 bytech úložiště v závislosti na hodnotě čísla.
- NEMOVITÝ – tato třída úložiště se používá k ukládání hodnot s pohyblivou řádovou čárkou a jsou uloženy v 8bajtovém úložišti.
- TEXT – ukládá textové řetězce. Podporuje také různé kódování, jako je UTF-8, UTF-16 BE nebo UTF-26LE.
- KAPKA – slouží k ukládání velkých souborů, jako jsou obrázky nebo textové soubory. Hodnota je uložena jako bajtové pole stejně jako vstupní hodnota.
SQLite Typ afinity
Typová afinita je doporučený typ dat uložených ve sloupci. Stále však můžete ukládat jakýkoli typ dat, jak chcete, tyto typy se nedoporučuje vyžadovat.
Tyto typy byly představeny v r SQLite pro maximalizaci kompatibility mezi SQLite a další Systém pro správu databází.
Jakýkoli sloupec deklarovaný v an SQLite databázi je přiřazena typová afinita v závislosti na deklarovaném datovém typu. Zde výtah typových afinit v SQLite:
- TEXT.
- ČÍSELNÉ.
- CELÉ ČÍSLO.
- NEMOVITÝ.
- KAPKA.
Zde je návod SQLite určuje afinitu sloupce z jeho deklarovaného datového typu:
- Afinita INTEGER je přiřazena, pokud deklarovaný typ obsahuje šňůra "INT".
- Afinita TEXT je přiřazena, pokud sloupec obsahuje ve svém datovém typu jeden z následujících řetězců „TEXT","CHARnebo „KLOB“. Například typu VARCHAR bude přiřazena afinita TEXT.
- Afinita BLOB je přiřazena, pokud sloupec nemá zadán žádný typ nebo je datovým typem BLOB.
- SKUTEČNÁ afinita je přiřazena, pokud typ obsahuje jeden z následujících řetězců „DOUB","NEMOVITÝnebo „FLOAT".
- Pro jakýkoli jiný datový typ je přiřazena NUMERICKÁ afinita.
Na stejné stránce je také tabulka ukazující některé příklady mapování mezi SQLite datové typy a jejich afinity určené těmito pravidly:

Příklady ukládání datových typů v SQLite
Ukládání čísla s SQLite celé číslo
Jakýkoli sloupec datového typu obsahuje slovo „INT“, bude mu přiřazena afinita typu INTEGER. Bude uložen v úložné třídě INTEGER.
Všechny následující datové typy jsou přiřazeny jako afinita typu INTEGER:
- INT, INTEGER, BIGINT.
- INT2, INT4, INT8.
- TINYINT, SMALLINT, MEDIUM INT.
Afinita typu INTEGER v SQLite může obsahovat libovolné přiřazené celé číslo (kladné nebo záporné) od 1 bajtu do maximálně 8 bajtů.
Ukládání čísel s SQLite NEMOVITÝ
SKUTEČNÁ čísla jsou čísla s dvojnásobnou přesností s pohyblivou řádovou čárkou. SQLite uložená reálná čísla jako pole o velikosti 8 bajtů. Zde je seznam datových typů v SQLite které můžete použít k uložení SKUTEČNÝCH čísel:
- NEMOVITÝ.
- DVOJNÁSOBEK.
- DVOJNÁSOBNÁ PŘESNOST.
- PLOVÁK.
Ukládání velkých dat s SQLite KAPKA
Existuje pouze jeden způsob, jak uložit velké soubory do a SQLite databáze a používá datový typ BLOB. Tento datový typ se používá k ukládání velkých souborů, jako jsou obrázky, soubory (jakéhokoli typu) atd. Soubor je převeden na pole bajtů a poté uložen ve stejné velikosti jako vstupní soubor.
ukládání SQLite Booleany
SQLite nemá samostatnou třídu úložiště BOOLEAN. Hodnoty BOOLEAN jsou však uloženy jako CELÉ ČÍSLA s hodnotami 0 (jako nepravda) nebo 1 (jako pravda).
ukládání SQLite data a časy
Můžete deklarovat datum nebo datumové časy v SQLite pomocí jednoho z následujících datových typů:
- DATA
- ČAS SCHŮZKY
- ČASOVÉ RAZÍTKO
- TIME
Všimněte si, že neexistuje žádná samostatná třída úložiště DATE nebo DATETIME SQLite. Místo toho jsou všechny hodnoty deklarované s jedním z předchozích datových typů uloženy ve třídě úložiště v závislosti na formátu data vložené hodnoty, a to následovně:
- TEXT – pokud jste vložili hodnotu data ve formátu řetězce ISO8601 („RRRR-MM-DD HH:MM:SS.SSS“).
- NEMOVITÝ – pokud jste vložili hodnotu data do čísel juliánského dne, počet dní od poledne v Greenwichi dne 24. listopadu 4714 př. n. l. Pak by se hodnota data uložila jako SKUTEČNÁ.
- INTEGER as Unix Čas, počet sekund od 1970-01-01 00:00:00 UTC.
Shrnutí
SQLite podporuje širokou škálu datových typů. Zároveň je však velmi flexibilní, pokud jde o datové typy. Do libovolného datového typu můžete vložit libovolný typ hodnoty. SQLite na rozdíl od jiných systémů správy databází také zavedl některé nové koncepty v datových typech, jako je typová afinita a třídy úložiště.
