SQLite Datatyper med exempel: Int, Text, Numeric, Real, Blob
Data skrivs in SQLite skiljer sig frรฅn andra databashanteringssystem. I SQLite, kan du deklarera datatyper normalt, men du kan fortfarande lagra vilket vรคrde som helst i vilken datatyp som helst.
SQLite skrivs mindre. Det finns inga datatyper, du kan lagra vilken typ av data du vill i vilken kolumn som helst. Detta kallas dynamiska typer.
I statiska typer, som i andra databashanteringssystem, om du deklarerade en kolumn med en datatyp heltal, kan du bara infoga vรคrden av datatypen heltal. Men i dynamiska typer som i SQLite, bestรคms typen av kolumn av det infogade vรคrdet. Och dรฅ SQLite lagrar det vรคrdet beroende pรฅ dess typ.
SQLite Fรถrvaringsklasser
In SQLite det finns olika lagringsmetoder beroende pรฅ typ av vรคrde, dessa olika lagringsmetoder kallas lagringsklasser i SQLite.
Fรถljande รคr de lagringsklasser som finns tillgรคngliga i SQLite:
- NULL โ denna lagringsklass anvรคnds fรถr att lagra alla NULL-vรคrden.
- HELTAL โ alla numeriska vรคrden lagras som ett heltalsvรคrde med tecken (det kan innehรฅlla bรฅde positiva och negativa heltalsvรคrden). INTEGER-vรคrdena i SQLite lagras i antingen 1, 2, 3, 4, 6 eller 8 byte lagring beroende pรฅ vรคrdet pรฅ numret.
- VERKLIG โ denna lagringsklass anvรคnds fรถr att lagra flyttalsvรคrden, och de lagras i ett 8-byte lagringsutrymme.
- TEXT โ lagrar textstrรคngar. Den stรถder ocksรฅ olika kodningar som UTF-8, UTF-16 BE eller UTF-26LE.
- KLICK โ anvรคnds fรถr att lagra stora filer, som bilder eller textfiler. Vรคrdet lagras som byte array pรฅ samma sรคtt som inmatningsvรคrdet.
SQLite Affinitetstyp
Typaffinitet รคr den rekommenderade typen av data som lagras i en kolumn. Du kan dock fortfarande lagra vilken typ av data du vill, dessa typer rekommenderas inte nรถdvรคndiga.
Dessa typer introducerades i SQLite fรถr att maximera kompatibiliteten mellan SQLite och andra databashanteringssystem.
Varje kolumn som deklareras i en SQLite databasen tilldelas en typaffinitet beroende pรฅ den deklarerade datatypen. Hรคr lyftet av typ affiniteter i SQLite:
- TEXT.
- NUMERISK.
- HELTAL.
- VERKLIG.
- KLICK.
Hรคr รคr hur SQLite bestรคmmer kolumns affinitet utifrรฅn dess deklarerade datatyp:
- INTEGER-affinitet tilldelas om den deklarerade typen innehรฅller strรคng "INT".
- TEXT-affinitet tilldelas, om kolumnen innehรฅller pรฅ sin datatyp en av fรถljande strรคngar "TEXT","RรDING, eller "CLOB". Till exempel kommer typen VARCHAR att tilldelas TEXT-affiniteten.
- BLOB-affinitet tilldelas om kolumnen inte har nรฅgon typ angiven eller om datatypen รคr en BLOB.
- VERKLIG affinitet tilldelas om typen innehรฅller en av fรถljande strรคngar "DUBBLA","VERKLIG, eller "FLOTTรR".
- NUMERISK affinitet tilldelas fรถr alla andra datatyper.
Det finns ocksรฅ en tabell pรฅ samma sida som visar nรฅgra exempel fรถr mappningen mellan SQLite datatyper och deras affinitet bestรคms av dessa regler:

Exempel pรฅ att lagra datatyper i SQLite
Lagrar nummer med SQLite heltal
Varje kolumn av datatyp innehรฅller ordet "INT", kommer det att tilldelas en INTEGER-typ affinitet. Den kommer att lagras i en INTEGER-lagringsklass.
Alla fรถljande datatyper tilldelas som en INTEGER-typaffinitet:
- INT, INTEGER, BIGINT.
- INT2, INT4, INT8.
- TINYINT, SMALLINT, MEDIUM INT.
INTEGER typ affinitet i SQLite kan innehรฅlla valfritt tilldelat heltal (positivt eller negativt) frรฅn 1 byte till maximalt 8 byte.
Lagra nummer med SQLite VERKLIG
RIKTIGA siffror รคr numret med dubbel flyttalsprecision. SQLite lagrade reella tal som 8 bytes array. Hรคr รคr listan รถver datatyper i SQLite som du kan anvรคnda fรถr att lagra VERKLIGA nummer:
- VERKLIG.
- DUBBEL.
- DUBBEL PRECISION.
- FLYTA.
Lagra stora data med SQLite KLICK
Det finns bara ett sรคtt att lagra stora filer i en SQLite databas, och den anvรคnder datatypen BLOB. Denna datatyp anvรคnds fรถr att lagra stora filer som bilder, filer (frรฅn vilken typ som helst), etc. Filen konverteras till byte-array och lagras sedan i samma storlek som indatafilen.
lagring SQLite Booleans
SQLite har inte en separat BOOLEAN lagringsklass. Dรคremot lagras BOOLEAN-vรคrdena som INTEGERS med vรคrdena 0 (som falskt) eller 1 (som sant).
lagring SQLite datum och tider
Du kan deklarera datum eller datum tider i SQLite anvรคnder nรฅgon av fรถljande datatyper:
- DATUM
- Datum Tid
- TIDSSTรMPEL
- TID
Observera att det inte finns nรฅgon separat lagringsklass fรถr DATE eller DATETIME i SQLite. Istรคllet lagras alla vรคrden som deklarerats med en av de tidigare datatyperna i en lagringsklass beroende pรฅ datumformatet fรถr det infogade vรคrdet enligt fรถljande:
- TEXT โ om du infogade datumvรคrdet i formatet ISO8601-strรคngen ("ร ร ร ร -MM-DD HH:MM:SS.SSS").
- VERKLIG โ om du infogade datumvรคrdet i de julianska dagtalen, antalet dagar sedan middagstid i Greenwich den 24 november 4714 f.Kr. Dรฅ skulle datumvรคrdet lagras som RIKTIGT.
- HELTAL as Unix Tid, antalet sekunder sedan 1970-01-01 00:00:00 UTC.
Sammanfattning
SQLite stรถder ett brett utbud av datatyper. Men samtidigt รคr det vรคldigt flexibelt nรคr det gรคller datatyper. Du kan lรคgga vilken vรคrdetyp som helst i vilken datatyp som helst. SQLite introducerade ocksรฅ nรฅgra nya koncept i datatyper som typaffinitet och lagringsklasser, till skillnad frรฅn andra databashanteringssystem.
