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:

  1. Afinitatea INTEGER este atribuitฤƒ dacฤƒ tipul declarat conศ›ine ลŸir INT".
  2. 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.
  3. Afinitatea BLOB este atribuitฤƒ dacฤƒ coloana nu are niciun tip specificat sau tipul de date este un BLOB.
  4. Afinitatea REAL este atribuitฤƒ dacฤƒ tipul conศ›ine unul dintre urmฤƒtoarele ศ™iruri โ€žรŽndoieศ™te""REALsau โ€žPLUTI".
  5. 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:

SQLite Tip de afinitate
Hartฤƒ รฎntre SQLite tipuri de date ศ™i afinitฤƒศ›i

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.

Rezumaศ›i aceastฤƒ postare cu: