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:
- INTEGER afinitet se dodjeljuje ako deklarirani tip sadrลพi niz "INT".
- 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.
- BLOB afinitet se dodjeljuje ako stupac nema naveden tip ili je tip podataka BLOB.
- STVARNI afinitet se dodjeljuje ako tip sadrลพi jedan od sljedeฤih nizova "DUBITI","STVARAN, ili "PLUTATI".
- 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:

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.
