SQLite Andmetüübid näitega: Int, Text, Numeric, Real, Blob

Andmetüübid sisse SQLite on teiste andmebaasihaldussüsteemidega võrreldes erinevad. sisse SQLite, saate andmetüüpe tavaliselt deklareerida, kuid siiski saate salvestada mis tahes väärtuse mis tahes andmetüübis.

SQLite trükitakse vähem. Andmetüüpe pole, saate igasse veergu salvestada mis tahes tüüpi andmeid, mis teile meeldivad. Seda nimetatakse dünaamilisteks tüüpideks.

Staatilistes tüüpides, nagu ka teistes andmebaasihaldussüsteemides, kui deklareerisite veeru andmetüübi täisarvuga, saate sisestada ainult andmetüübi täisarvu väärtusi. Kuid dünaamilistes tüüpides nagu sisse SQLite, veeru tüüp määratakse sisestatud väärtuse järgi. Ja siis SQLite salvestab selle väärtuse olenevalt selle tüübist.

SQLite Ladustamise klassid

In SQLite olenevalt väärtuse tüübist on erinevaid salvestusmeetodeid, neid erinevaid salvestusmeetodeid nimetatakse salvestusklassideks SQLite.

Järgmised on saadaval olevad salvestusklassid SQLite:

  • NULL – seda salvestusklassi kasutatakse mis tahes NULL-väärtuse salvestamiseks.
  • INTEGRE – iga arvväärtus salvestatakse märgiga täisarvuna (võib sisaldada nii positiivseid kui ka negatiivseid täisarvulisi väärtusi). INTEGER väärtused SQLite salvestatakse sõltuvalt numbri väärtusest kas 1, 2, 3, 4, 6 või 8 baidisesse salvestusruumi.
  • REAL – seda salvestusklassi kasutatakse ujukomaväärtuste salvestamiseks ja need salvestatakse 8-baidisesse salvestusruumi.
  • TEKST – salvestab tekstistringid. Samuti toetab see erinevat kodeeringut, nagu UTF-8, UTF-16 BE või UTF-26LE.
  • MÄNG – kasutatakse suurte failide (nt piltide või tekstifailide) salvestamiseks. Väärtus salvestatakse baitimassiivina samamoodi nagu sisendväärtus.

SQLite Afiinsuse tüüp

Tüübi afiinsus on veerus salvestatavate andmete soovitatav tüüp. Siiski saate ikkagi salvestada mis tahes tüüpi andmeid, mida soovite, soovitame, et need tüübid pole vajalikud.

Need tüübid võeti kasutusele aastal SQLite vahelist ühilduvust maksimeerida SQLite ja muud andmebaasihaldussüsteem.

Iga veerg, mis on deklareeritud an SQLite andmebaasile määratakse tüübiafiinsus sõltuvalt selle deklareeritud andmetüübist. Siin on tüübisuguluse tõus SQLite:

  • TEKST.
  • ARV.
  • TÄISARV.
  • PÄRIS.
  • BLOB.

Siin on kuidas SQLite määrab veeru afiinsuse selle deklareeritud andmetüübi järgi:

  1. TÄISARV afiinsus määratakse juhul, kui deklareeritud tüüp sisaldab nöör "INT".
  2. TEKSTI afiinsus on määratud, kui veerg sisaldab oma andmetüübis ühte järgmistest stringidest "TEKST","PAAKvõiCLOB“. Näiteks tüübile VARCHAR määratakse TEKSTI afiinsus.
  3. BLOB-i afiinsus määratakse, kui veerus pole tüüpi määratud või kui andmetüüp on BLOB.
  4. REAL afiinsus määratakse, kui tüüp sisaldab ühte järgmistest stringidest "DOUB","REALvõiUJU".
  5. Mis tahes muu andmetüübi jaoks on määratud NUMERILINE afiinsus.

Samal lehel on ka tabel, mis näitab mõningaid näiteid vahelise kaardistamise kohta SQLite andmetüübid ja nende seosed, mis on määratud järgmiste reeglitega:

SQLite Afiinsuse tüüp
Kaardistamine vahel SQLite andmetüübid ja afiinsused

Andmetüüpide salvestamise näited SQLite

Numbri salvestamine koos SQLite täisarv

Iga andmetüübi veerg sisaldab sõna „INT”, sellele omistatakse TÄISVISE tüübi afiinsus. See salvestatakse INTEGER salvestusklassis.

Kõik järgmised andmetüübid on määratud INTEGER tüüpi afiinsusena:

  • INT, TÄISARV, BIGINT.
  • INT2, INT4, INT8.
  • TINYINT, SMALLINT, MEDIUM INT.

INTEGER tüübi afiinsus sisse SQLite võib sisaldada mis tahes määratud täisarvu (positiivset või negatiivset) vahemikus 1 kuni 8 baiti.

Numbrite salvestamine koos SQLite REAL

PÄRIS numbrid on kahekordse ujukoma täpsusega arv. SQLite salvestatud reaalarvud 8-baidise massiivina. Siin on andmetüüpide loend SQLite mida saate kasutada PÄRIS numbrite salvestamiseks:

  • PÄRIS.
  • TOPELINE.
  • TOPELINE TÄPSUS.
  • UJUV.

Suurte andmete salvestamine SQLite MÄNG

On ainult üks viis suurte failide salvestamiseks a SQLite andmebaasi ja see kasutab andmetüüpi BLOB. Seda andmetüüpi kasutatakse suurte failide (nt pildid, failid (mis tahes tüüpi) jne) salvestamiseks. Fail teisendatakse baitide massiiviks ja seejärel salvestatakse sisendfailiga samas suuruses.

hoidmine SQLite Booleans

SQLite ei oma eraldi BOOLEAN salvestusklassi. BOOLEAN väärtused salvestatakse aga TÄISARVATE, mille väärtus on 0 (väär) või 1 (tõene).

hoidmine SQLite kuupäevad ja kellaajad

Saate deklareerida kuupäeva või kuupäeva kellaajad SQLite kasutades ühte järgmistest andmetüüpidest:

  • ANDMED
  • KUUPÄEV KELLAAEG
  • AJAMÄNG
  • AEG

Pange tähele, et eraldi salvestusklassi DATE või DATETIME ei ole SQLite. Selle asemel salvestatakse kõik eelmise andmetüübiga deklareeritud väärtused salvestusklassi, sõltuvalt sisestatud väärtuse kuupäevavormingust järgmiselt:

  • TEKST – kui sisestasite kuupäeva väärtuse ISO8601 stringi vormingus ("AAAA-KK-PP HH:MM:SS.SSS").
  • REAL – kui sisestasite Juliuse päeva numbritesse kuupäeva väärtuse, siis päevade arv alates keskpäevast Greenwichis 24. novembril 4714 eKr. Siis salvestatakse kuupäeva väärtus PÄRIS.
  • INTEGRE as Unix Aeg, sekundite arv alates 1970-01-01 00:00:00 UTC.

kokkuvõte

SQLite toetab suurt hulka andmetüüpe. Kuid samal ajal on see andmetüüpide osas väga paindlik. Igasse andmetüüpi saate lisada mis tahes väärtuse tüübi. SQLite tutvustas erinevalt teistest andmebaasihaldussüsteemidest ka mõningaid uusi mõisteid andmetüüpides, nagu tüübiafiinsus ja salvestusklassid.