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:

  1. INTEGER-tilhรธrighet tildeles hvis den deklarerte typen inneholder string "INT".
  2. 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.
  3. BLOB-tilhรธrighet tildeles hvis kolonnen ikke har noen type spesifisert eller datatypen er en BLOB.
  4. REELL affinitet tildeles hvis typen inneholder en av fรธlgende strenger "DOUBLE","EKTE, eller "FLOAT".
  5. 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:

SQLite Tilhรธrighetstype
Kartlegging mellom SQLite datatyper og tilhรธrighet

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.

Oppsummer dette innlegget med: