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.