SQLite Tipuri de date: Int, Text, Numeric, Real, Blob
โก Rezumat inteligent
SQLite Tipurile de date funcศioneazฤ diferit faศฤ de alte baze de date deoarece SQLite foloseศte ty dinamicping, stocรขnd orice valoare รฎn orice coloanฤ. Clasele de stocare, afinitatea de tip ศi numele de tip declarate determinฤ รฎmpreunฤ modul รฎn care fiecare valoare este salvatฤ fizic pe disc.

Secศiunile de mai jos explicฤ cum SQLite gestioneazฤ tipurile de date, รฎncepรขnd cu cele cinci clase de stocare, apoi afinitatea tipului ศi regulile sale de atribuire ศi, รฎn final, exemple lucrate de stocare a numerelor รฎntregi, a numerelor reale, a BLOB-urilor, a valorilor booleene ศi a datelor.
Tipuri de date รฎn SQLite diferฤ de cele din alte sisteme de gestionare a bazelor de date. รn SQLite, puteศi declara tipuri de date รฎn mod normal, dar puteศi stoca รฎn continuare orice valoare รฎn orice tip de date.
SQLite este fฤrฤ tip. Nu existฤ tipuri de date fixe; puteศi stoca orice tip de date doriศi รฎn orice coloanฤ. Aceasta se numeศte tip dinamicping.
รn tipurile statice, ca ศi รฎn alte sisteme de gestionare a bazelor de date, dacฤ declaraศi o coloanฤ cu tipul de date integer, puteศi insera doar valori de tipul de date integer. Totuศi, รฎn tipurile dinamice, ca รฎn SQLite, tipul coloanei este determinat de valoarea introdusฤ, apoi SQLite stocheazฤ acea valoare รฎn funcศie de tipul acesteia.
SQLite Clasele de depozitare
In SQLite Existฤ diferite metode de stocare รฎn funcศie de tipul valorii; aceste metode diferite de stocare se numesc clase de stocare รฎn SQLite.
Urmฤtoarele sunt clasele de stocare disponibile รฎn SQLite:
- NULL โ aceastฤ clasฤ de stocare este folositฤ pentru a stoca orice valoare NULL.
- INTEGER โ orice valoare numericฤ este stocatฤ ca valoare รฎntreagฤ cu semn (poate conศine atรขt valori รฎntregi pozitive, cรขt ศi negative). Valorile รฎntregi din SQLite sunt stocaศi fie รฎn 1, 2, 3, 4, 6 sau 8 octeศi de stocare, รฎn funcศie de valoarea numฤrului.
- REAL โ aceastฤ clasฤ de stocare este utilizatฤ pentru a stoca valorile รฎn virgulฤ mobilฤ, iar acestea sunt stocate รฎntr-o capacitate de stocare de 8 octeศi.
- TEXT โ stocheazฤ ศiruri de text. De asemenea, acceptฤ diferite codificฤri, cum ar fi UTF-8, UTF-16BE sau UTF-16LE.
- BLOB โ utilizat pentru stocarea fiศierelor mari, cum ar fi imagini sau fiศiere text. Valoarea este stocatฤ ca o matrice de octeศi, la fel ca valoarea de intrare.
SQLite Tip de afinitate
Afinitatea de tip este tipul de date recomandat pentru stocarea รฎntr-o coloanฤ. Cu toate acestea, puteศi stoca orice tip de date doriศi; aceste tipuri sunt recomandate, nu obligatorii.
Aceste tipuri au fost introduse รฎn SQLite pentru a maximiza compatibilitatea รฎntre SQLite si alte Sistemul de gestionare a bazelor de dates.
Orice coloanฤ declaratฤ รฎntr-un SQLite Bazei de date i se atribuie o afinitate de tip รฎn funcศie de tipul de date declarat. Iatฤ lista afinitฤศilor de tip din SQLite:
- TEXT.
- NUMERIC.
- รNTREG.
- REAL.
- BLOB.
Iatฤ cum SQLite determinฤ afinitatea unei coloane din tipul de date declarat:
- Afinitatea INTEGER este atribuitฤ dacฤ tipul declarat conศine ลir โINTโ.
- Afinitatea TEXT este atribuitฤ dacฤ coloana conศine รฎn tipul sฤu de date unul dintre urmฤtoarele ศiruri: โTEXTโ, โCHARโ sau โCLOBโ. De exemplu, tipului VARCHAR i se va atribui afinitatea TEXT.
- Afinitatea BLOB este atribuitฤ dacฤ coloana nu are niciun tip specificat sau tipul de date este un BLOB.
- Afinitatea REAL este atribuitฤ dacฤ tipul conศine unul dintre urmฤtoarele ศiruri de caractere: โDOUBโ, โREALโ sau โFLOATโ.
- Afinitatea NUMERIC este atribuitฤ oricฤrui alt tip de date.
Existฤ, de asemenea, un tabel mai jos care prezintฤ cรขteva exemple ale hฤrศiiping รฎntre SQLite tipurile de date ศi afinitฤศile lor determinate de aceste reguli:
Exemple de stocare a tipurilor de date รฎn SQLite
Stocarea numerelor cu SQLite INTEGER
Dacฤ o coloanฤ are un tip de date care conศine cuvรขntul โINTโ, i se va atribui o afinitate de tip INTEGER. Aceasta va fi stocatฤ รฎntr-o clasฤ de stocare INTEGER.
Tuturor urmฤtoarelor tipuri de date li se atribuie o afinitate de tip INTEGER:
- INT, INTEGER, BIGINT.
- INT2, INT4, INT8.
- MICฤ MINIMฤ, MICฤ MINIMฤ, MEDIE MINIMฤ.
afinitate de tip INTEGER รฎn SQLite poate conศine orice numฤr รฎntreg atribuit (pozitiv sau negativ) de la 1 octet pรขnฤ la maximum 8 octeศi.
Stocarea numerelor cu SQLite REAL
Numerele REALE sunt numere cu precizie dublฤ รฎn virgulฤ mobilฤ. SQLite stocheazฤ numere reale ca o matrice de 8 octeศi. Iatฤ lista tipurilor de date din SQLite pe care le puteศi folosi pentru a stoca numere REALE:
- REAL.
- DUBLA.
- DUBLA PRECIZIUNE.
- PLUTI.
Stocarea datelor mari cu SQLite BLOB
Existฤ o singurฤ modalitate de a stoca fiศiere mari รฎntr-un SQLite baza de date, ศi care utilizeazฤ tipul de date BLOB. Acest tip de date este utilizat pentru a stoca fiศiere mari, cum ar fi imagini sau fiศiere de orice tip. Fiศierul este convertit รฎntr-o matrice de octeศi ศi apoi stocat la aceeaศi dimensiune ca ศi fiศierul de intrare.
depozitarea SQLite booleane
SQLite nu are o clasฤ de stocare BOOLEAN separatฤ. รn schimb, valorile BOOLEAN sunt stocate ca INTEGERI, unde 0 reprezintฤ fals ศi 1 reprezintฤ adevฤrat.
depozitarea SQLite date si ore
Puteศi declara date sau date-ore รฎn SQLite folosind unul dintre urmฤtoarele tipuri de date:
- DATA
- datetime
- TIMESTAMP-UL
- TIMP
Reศineศi cฤ nu existฤ o clasฤ de stocare DATE sau DATETIME separatฤ รฎn SQLiteรn schimb, orice valori declarate cu unul dintre tipurile de date anterioare sunt stocate รฎntr-o clasฤ de stocare, รฎn funcศie de formatul de datฤ al valorii inserate, dupฤ cum urmeazฤ:
- TEXT โ dacฤ introduceศi valoarea datei รฎn formatul unui ศir ISO8601 (โAAAA-LL-ZZ HH:MM:SS.SSSโ).
- REAL โ dacฤ introduceศi valoarea datei ca numฤr de zi julian, numฤrul de zile de la prรขnz รฎn Greenwich, pe 24 noiembrie 4714 รฎ.Hr. Valoarea datei este apoi stocatฤ ca REAL.
- INTEGER - la fel de Unix Timp, numฤrul de secunde de la 1970-01-01 00:00:00 UTC.

