SQLite Datatyper med eksempel: Int, Text, Numeric, Real, Blob
Datatyper inn SQLite er annerledes sammenlignet med andre databasestyringssystem. I SQLite, kan du deklarere datatyper normalt, men du kan fortsatt lagre hvilken som helst verdi i en hvilken som helst datatype.
SQLite er skrevet mindre. Det er ingen datatyper, du kan lagre hvilken som helst type data du liker i hvilken som helst kolonne. Dette kalles dynamiske typer.
I statiske typer, som i andre databasebehandlingssystemer, kan du bare sette inn verdier av datatypen heltall hvis du deklarerte en kolonne med en datatype heltall. Imidlertid, i dynamiske typer som i SQLite, er kolonnetypen bestemt av verdien som er satt inn. Og så SQLite lagrer denne verdien avhengig av typen.
SQLite Lagringsklasser
In SQLite det er forskjellige lagringsmetoder avhengig av type verdi, disse forskjellige lagringsmetodene kalles lagringsklasser i SQLite.
Følgende er lagringsklassene som er tilgjengelige i SQLite:
- NULL – denne lagringsklassen brukes til å lagre enhver NULL-verdi.
- INTEGER – enhver numerisk verdi lagres som en heltallsverdi med fortegn (den kan inneholde både positive og negative heltallsverdier). INTEGER-verdiene i SQLite lagres i enten 1, 2, 3, 4, 6 eller 8 byte lagringsplass, avhengig av verdien på tallet.
- EKTE – denne lagringsklassen brukes til å lagre flyttallverdiene, og de er lagret i en 8-byte lagringsplass.
- TEKST – lagrer tekststrenger. Den støtter også annen koding som UTF-8, UTF-16 BE eller UTF-26LE.
- BLOB – brukes til å lagre store filer, som bilder eller tekstfiler. Verdien lagres som byte array på samme måte som inngangsverdien.
SQLite Tilhørighetstype
Typetilhørighet er den anbefalte typen data som er lagret i en kolonne. Du kan imidlertid fortsatt lagre hvilken som helst type data som du ønsker, disse typene anbefales ikke nødvendig.
Disse typene ble introdusert i SQLite for å maksimere kompatibiliteten mellom SQLite og andre databasesystem.
Enhver kolonne erklært i en SQLite databasen er tildelt en typetilhørighet avhengig av den erklærte datatypen. Her løftet av type tilhørighet i SQLite:
- TEKST.
- NUMERISK.
- HELTAL.
- EKTE.
- BLOB.
Dette er hvordan SQLite bestemmer affiniteten til kolonnen fra dens deklarerte datatypen:
- INTEGER-tilhørighet tildeles hvis den deklarerte typen inneholder string "INT".
- TEKST-tilhørighet tildeles hvis kolonnen inneholder en av følgende strenger på datatypen sin "TEKST","CHAR, eller "clob". For eksempel vil typen VARCHAR bli tildelt TEXT-tilknytningen.
- BLOB-tilhørighet tildeles hvis kolonnen ikke har noen type spesifisert eller datatypen er en BLOB.
- REELL affinitet tildeles hvis typen inneholder en av følgende strenger "DOUBLE","EKTE, eller "FLOAT".
- NUMERISK tilhørighet er tilordnet for alle andre datatyper.
Det er også en tabell på samme side som viser noen eksempler for kartleggingen mellom SQLite datatyper og deres tilhørighet bestemt av disse reglene:

Eksempler på lagring av datatyper i SQLite
Lagre nummer med SQLite heltall
En hvilken som helst kolonne med datatype inneholder ordet "INT", det vil bli tildelt en INTEGER type affinitet. Den vil bli lagret i en INTEGER-lagringsklasse.
Alle følgende datatyper er tilordnet som en INTEGER type affinitet:
- INT, INTEGER, BIGINT.
- INT2, INT4, INT8.
- TINYINT, SMALLINT, MEDIUM INT.
INTEGER type affinitet i SQLite kan inneholde et hvilket som helst tildelt heltall (positivt eller negativt) fra 1 byte til maksimalt 8 byte.
Lagre tall med SQLite EKTE
EKTE tall er tallet med dobbel flytepoengpresisjon. SQLite lagret reelle tall som 8 bytes 'array. Her er listen over datatyper i SQLite som du kan bruke til å lagre EKTE tall:
- EKTE.
- DOBBELT.
- DOBBEL PRESISJON.
- FLYTE.
Lagre store data med SQLite BLOB
Det er bare én måte å lagre store filer i en SQLite databasen, og den bruker datatypen BLOB. Denne datatypen brukes til å lagre store filer som bilder, filer (fra en hvilken som helst type), etc. Filen konverteres til byte-array og lagres deretter i samme størrelse som inndatafilen.
Lagring SQLite booleans
SQLite har ikke en egen BOOLEAN lagringsklasse. Imidlertid lagres BOOLEAN-verdiene som HELTTAL med verdiene 0 (som usann) eller 1 (som sann).
Lagring SQLite datoer og klokkeslett
Du kan deklarere dato eller dato klokkeslett i SQLite ved å bruke en av følgende datatyper:
- INFORMASJON
- DATO TID
- TIMESTAMP
- TIME
Merk at det ikke er noen egen lagringsklasse for DATE eller DATETIME i SQLite. I stedet lagres alle verdier som er deklarert med en av de tidligere datatypene i en lagringsklasse avhengig av datoformatet til den innsatte verdien som følger:
- TEKST – hvis du satte inn datoverdien i formatet til ISO8601-strengen ("ÅÅÅÅ-MM-DD TT:MM:SS.SSS").
- EKTE – hvis du satte inn datoverdien i de julianske dagtallene, antall dager siden kl. 24 i Greenwich 4714. november XNUMX f.Kr. Da vil datoverdien bli lagret som REAL.
- INTEGER as Unix Tid, antall sekunder siden 1970-01-01 00:00:00 UTC.
Sammendrag
SQLite støtter et bredt spekter av datatyper. Men samtidig er det veldig fleksibelt når det gjelder datatyper. Du kan legge inn hvilken som helst verditype i hvilken som helst datatype. SQLite introduserte også noen nye konsepter i datatyper som typetilhørighet og lagringsklasser, i motsetning til andre databasestyringssystemer.
