SQLite Tipuri de date cu Exemplu: Int, Text, Numeric, Real, Blob
Tipuri de date รฎn SQLite sunt diferite รฎn comparaศie cu alte sisteme de gestionare a bazelor de date. รn SQLite, puteศi declara tipuri de date รฎn mod normal, dar puteศi stoca orice valoare รฎn orice tip de date.
SQLite este scris mai puศin. Nu existฤ tipuri de date, puteศi stoca orice tip de date doriศi รฎn orice coloanฤ. Aceasta se numeศte tipuri dinamice.
รn tipurile statice, ca ศi รฎn alte sisteme de gestionare a bazelor de date, dacฤ aศi declarat o coloanฤ cu un tip de date รฎntreg, puteศi introduce doar valori ale tipului de date รฎntreg. Cu toate acestea, รฎn tipurile dinamice ca รฎn SQLite, tipul coloanei este determinat de valoarea introdusฤ. ศi 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 de valoare, aceste metode diferite de stocare sunt numite 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 INTEGER รฎn 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 folositฤ pentru a stoca valorile รฎn virgulฤ mobilฤ, iar acestea sunt stocate รฎntr-un spaศiu de stocare de 8 octeศi.
- TEXT โ stocheazฤ ศiruri de text. De asemenea, acceptฤ diferite codificฤri, cum ar fi UTF-8, UTF-16 BE sau UTF-26LE.
- BLOB โ folosit pentru a stoca fiศiere mari, cum ar fi imagini sau fiศiere text. Valoarea este stocatฤ ca matrice de octeศi la fel ca valoarea de intrare.
SQLite Tip de afinitate
Afinitatea de tip este tipul recomandat de date stocate รฎntr-o coloanฤ. Cu toate acestea, puteศi stoca รฎn continuare orice tip de date dupฤ cum doriศi, aceste tipuri sunt recomandate ศi nu sunt necesare.
Aceste tipuri au fost introduse รฎn SQLite pentru a maximiza compatibilitatea รฎntre SQLite si alte Sistemul de gestionare a bazelor de date.
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ฤ creศterea afinitฤศilor de tip รฎn SQLite:
- TEXT.
- NUMERIC.
- รNTREG.
- REAL.
- BLOB.
Iatฤ cum SQLite determinฤ afinitatea coloanei din tipul de date declarat:
- Afinitatea INTEGER este atribuitฤ dacฤ tipul declarat conศine ลir INT".
- Este atribuitฤ afinitatea TEXT, dacฤ coloana conศine pe tipul sฤu de date unul dintre urmฤtoarele ศiruri โTEXT""REZERVORsau โ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 โรndoieศte""REALsau โPLUTI".
- Afinitatea NUMERIC este atribuitฤ oricฤrui alt tip de date.
Existฤ, de asemenea, un tabel pe aceeaศi paginฤ care aratฤ cรขteva exemple pentru maparea dintre acestea SQLite tipurile de date ศi afinitฤศile lor determinate de aceste reguli:

Exemple de stocare a tipurilor de date รฎn SQLite
Stocarea numฤrului cu SQLite รฎntreg
Orice coloanฤ de tip de date conศine cuvรขntul โINTโ, i se va atribui o afinitate de tip INTEGER. Acesta va fi stocat รฎntr-o clasฤ de stocare INTEGER.
Toate urmฤtoarele tipuri de date sunt atribuite ca afinitate de tip INTEGER:
- INT, INTEGER, BIGINT.
- INT2, INT4, INT8.
- TINYINT, SMALLINT, MEDIUM INT.
afinitate de tip INTEGER รฎn SQLite poate deศ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 numฤrul cu precizie dublฤ รฎn virgulฤ mobilฤ. SQLite a stocat numere reale ca matrice de 8 octeศi. Iatฤ lista tipurilor de date รฎn 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 utilizeazฤ tipul de date BLOB. Acest tip de date este folosit pentru a stoca fiศiere mari, cum ar fi imagini, fiศiere (de orice tip), etc. Fiศierul este convertit รฎn matrice de octeศi ศi apoi stocat รฎn aceeaศi dimensiune ca fiศierul de intrare.
depozitarea SQLite booleane
SQLite nu are o clasฤ de stocare BOOLEAN separatฤ. Cu toate acestea, valorile BOOLEANE sunt stocate ca INTREGI cu valori 0 (ca false) sau 1 (ca adevฤrate).
depozitarea SQLite date si ore
Puteศi declara data sau data orelor รฎ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 separatฤ DATE sau DATETIME SQLite. รn schimb, orice valoare declaratฤ cu unul dintre tipurile de date anterioare sunt stocate รฎntr-o clasฤ de stocare รฎn funcศie de formatul de datฤ al valorii introduse, dupฤ cum urmeazฤ:
- TEXT โ dacฤ aศi introdus valoarea datei รฎn formatul ศirului ISO8601 (โAAAA-LL-ZZ HH:MM:SS.SSSโ).
- REAL โ dacฤ aศi inserat valoarea datei รฎn numerele zilei iuliane, numฤrul de zile de la amiazฤ รฎn Greenwich pe 24 noiembrie 4714 รฎ.Hr., atunci valoarea datei va fi stocatฤ ca REAL.
- INTEGER as Unix Timp, numฤrul de secunde de la 1970-01-01 00:00:00 UTC.
Rezumat
SQLite acceptฤ o gamฤ largฤ de tipuri de date. Dar, รฎn acelaศi timp, este foarte flexibil รฎn ceea ce priveศte tipurile de date. Puteศi pune orice tip de valoare รฎn orice tip de date. SQLite a introdus, de asemenea, cรขteva concepte noi รฎn tipurile de date, cum ar fi afinitatea tipului ศi clasele de stocare, spre deosebire de alte sisteme de gestionare a bazelor de date.
