SQLite Vrste podataka s primjerom: Int, Text, Numeric, Real, Blob

Vrste podataka u SQLite razlikuju se u usporedbi s drugim sustavima za upravljanje bazom podataka. U SQLite, moลพete normalno deklarirati tipove podataka, ali joลก uvijek moลพete pohraniti bilo koju vrijednost u bilo kojem tipu podataka.

SQLite upisuje se manje. Ne postoje vrste podataka, moลพete pohraniti bilo koju vrstu podataka u bilo kojem stupcu. To se zove dinamiฤki tipovi.

U statiฤkim tipovima, kao i u drugim sustavima za upravljanje bazama podataka, ako ste deklarirali stupac s tipom podataka cijeli broj, moลพete umetnuti samo vrijednosti tipa podataka cijeli broj. Meฤ‘utim, u dinamiฤkim tipovima poput in SQLite, vrsta stupca odreฤ‘ena je umetnutom vrijednoลกฤ‡u. I onda SQLite pohranjuje tu vrijednost ovisno o vrsti.

SQLite Klase skladiลกtenja

In SQLite postoje razliฤite metode pohrane ovisno o vrsti vrijednosti, te se razliฤite metode pohrane nazivaju klasama pohrane SQLite.

Sljedeฤ‡e su klase pohrane dostupne u SQLite:

  • NULL โ€“ ova klasa pohranjivanja koristi se za pohranjivanje bilo koje NULL vrijednosti.
  • CIJELI โ€“ svaka numeriฤka vrijednost pohranjuje se kao cijeli broj s predznakom (moลพe sadrลพavati i pozitivne i negativne vrijednosti cijelog broja). INTEGER vrijednosti u SQLite pohranjuju se u 1, 2, 3, 4, 6 ili 8 bajtova prostora za pohranu, ovisno o vrijednosti broja.
  • STVARAN โ€“ ova klasa pohrane koristi se za pohranjivanje vrijednosti s pomiฤnim zarezom, a one se pohranjuju u 8-bajtnu pohranu.
  • TEKST โ€“ pohranjuje tekstualne nizove. Takoฤ‘er podrลพava razliฤita kodiranja kao ลกto su UTF-8, UTF-16 BE ili UTF-26LE.
  • BLOB โ€“ koristi se za pohranu velikih datoteka, poput slika ili tekstualnih datoteka. Vrijednost je pohranjena kao niz bajtova isto kao i ulazna vrijednost.

SQLite Vrsta afiniteta

Srodnost tipa preporuฤena je vrsta podataka pohranjenih u stupcu. Meฤ‘utim, joลก uvijek moลพete pohraniti bilo koju vrstu podataka po ลพelji, preporuฤuje se da ove vrste nisu potrebne.

Ove su vrste uvedene u SQLite kako bi se maksimizirala kompatibilnost izmeฤ‘u SQLite te druge sustav za upravljanje bazama podataka.

Svaki stupac deklariran u SQLite bazi podataka se dodjeljuje afinitet tipa ovisno o deklariranom tipu podataka. Ovdje dolazi do poveฤ‡anja afiniteta tipa SQLite:

  • TEKST.
  • NUMERIฤŒKI.
  • CIJELI BROJ.
  • STVARAN.
  • BLOB.

Evo kako SQLite odreฤ‘uje afinitet stupca iz njegovog deklariranog tipa podataka:

  1. INTEGER afinitet se dodjeljuje ako deklarirani tip sadrลพi niz "INT".
  2. TEXT afinitet se dodjeljuje ako stupac sadrลพi jedan od sljedeฤ‡ih nizova u svojoj vrsti podataka:TEKST","TENK, ili "KLOBโ€œ. Na primjer, tipu VARCHAR bit ฤ‡e dodijeljen afinitet TEXT.
  3. BLOB afinitet se dodjeljuje ako stupac nema naveden tip ili je tip podataka BLOB.
  4. STVARNI afinitet se dodjeljuje ako tip sadrลพi jedan od sljedeฤ‡ih nizova "DUBITI","STVARAN, ili "PLUTATI".
  5. NUMERIC afinitet se dodjeljuje za bilo koju drugu vrstu podataka.

Postoji i tablica na istoj stranici koja prikazuje neke primjere za preslikavanje izmeฤ‘u SQLite tipovi podataka i njihovi afiniteti odreฤ‘eni ovim pravilima:

SQLite Vrsta afiniteta
Preslikavanje izmeฤ‘u SQLite tipovi podataka i afiniteti

Primjeri pohranjivanja vrsta podataka u SQLite

Pohranjivanje broja sa SQLite cijeli

Bilo koji stupac tipa podataka sadrลพi rijeฤ "INT", bit ฤ‡e mu dodijeljen afinitet tipa INTEGER. Bit ฤ‡e pohranjen u klasi pohrane INTEGER.

Svi sljedeฤ‡i tipovi podataka dodijeljeni su kao afinitet tipa INTEGER:

  • INT, INTEGER, BIGINT.
  • INT2, INT4, INT8.
  • SITNO, MALI, SREDNJE CJELO.

INTEGER afinitet tipa u SQLite moลพe sadrลพavati bilo koji dodijeljeni cijeli broj (pozitivan ili negativan) od 1 bajta do najviลกe 8 bajtova.

Pohranjivanje brojeva sa SQLite STVARAN

REAL brojevi su brojevi s dvostrukom preciznoลกฤ‡u pomiฤnog zareza. SQLite pohranjene realne brojeve kao niz od 8 bajtova. Ovdje je popis vrsta podataka u SQLite koje moลพete koristiti za pohranjivanje STVARNIH brojeva:

  • STVARAN.
  • DVOSTRUKO.
  • DVOSTRUKA PRECIZNOST.
  • PLUTATI.

Pohranjivanje velikih podataka sa SQLite BLOB

Postoji samo jedan naฤin pohranjivanja velikih datoteka u a SQLite baze podataka, a koristi tip podataka BLOB. Ova vrsta podataka koristi se za pohranu velikih datoteka poput slika, datoteka (bilo koje vrste), itd. Datoteka se pretvara u niz bajtova i zatim pohranjuje u istoj veliฤini kao i ulazna datoteka.

Spremanje SQLite logiฤke

SQLite nema zasebnu BOOLEAN klasu pohrane. Meฤ‘utim, BOOLEAN vrijednosti su pohranjene kao CIJELI BROJEVI s vrijednostima 0 (kao laลพ) ili 1 (kao istina).

Spremanje SQLite datumi i vremena

Moลพete deklarirati datum ili vrijeme datuma u SQLite pomoฤ‡u jedne od sljedeฤ‡ih vrsta podataka:

  • INFORMACIJE
  • DATUM VRIJEME
  • VREMENSKI KAMP
  • VRIJEME

Imajte na umu da ne postoji posebna klasa pohrane DATE ili DATETIME SQLite. Umjesto toga, sve vrijednosti deklarirane s jednim od prethodnih tipova podataka pohranjuju se u klasu pohrane ovisno o formatu datuma umetnute vrijednosti kako slijedi:

  • TEKST โ€“ ako ste umetnuli vrijednost datuma u formatu niza ISO8601 (โ€œGGGG-MM-DD HH:MM:SS.SSSโ€).
  • STVARAN โ€“ ako ste vrijednost datuma umetnuli u julijanske brojeve dana, broj dana od podneva u Greenwichu 24. studenoga 4714. pr. Kr. Tada bi vrijednost datuma bila pohranjena kao STVARNA.
  • CIJELI as Unix Vrijeme, broj sekundi od 1970-01-01 00:00:00 UTC.

Rezime

SQLite podrลพava ลกirok raspon vrsta podataka. Ali, u isto vrijeme, vrlo je fleksibilan u pogledu tipova podataka. Moลพete staviti bilo koju vrstu vrijednosti u bilo koju vrstu podataka. SQLite takoฤ‘er je uveo neke nove koncepte u tipovima podataka kao ลกto su afinitet tipa i klase pohrane, za razliku od drugih sustava za upravljanje bazama podataka.

Saลพmite ovu objavu uz: