SQLite Adattípusok: Egész szám, szöveg, numerikus, valós szám, Blob
⚡ Okos összefoglaló
SQLite Az adattípusok másképp működnek, mint más adatbázisok, mert SQLite dinamikus ty-t használping, tetszőleges értéket tárolhat bármely oszlopban. A tárolási osztályok, a típusaffinitás és a deklarált típusnevek együttesen határozzák meg, hogy az egyes értékek fizikailag hogyan kerülnek mentésre a lemezen.

Az alábbi szakaszok elmagyarázzák, hogyan SQLite kezeli az adattípusokat, kezdve az öt tárolási osztállyal, majd típusaffinitással és annak hozzárendelési szabályaival, végül pedig egész számok, valós számok, BLOB-ok, logikai értékek és dátumok tárolására vonatkozó példákkal foglalkozik.
Adattípusok be SQLite különböznek más adatbázis-kezelő rendszerekben találhatóaktól. SQLite, az adattípusokat a szokásos módon deklarálhatod, de bármilyen értéket továbbra is tárolhatsz bármilyen adattípusban.
SQLite típus nélküli. Nincsenek fix adattípusok; bármilyen típusú adatot tárolhatsz bármelyik oszlopban. Ezt dinamikus típusnak nevezzük.ping.
Statikus típusokban, akárcsak más adatbázis-kezelő rendszerekben, ha egy egész szám adattípusú oszlopot deklarálunk, akkor csak egész szám adattípusú értékeket szúrhatunk be. Dinamikus típusokban azonban, mint például a SQLite, az oszlop típusát a beszúrt érték határozza meg, majd SQLite típusától függően tárolja ezt az értéket.
SQLite Tárolási osztályok
In SQLite Az érték típusától függően különböző tárolási módszerek léteznek; ezeket a különböző tárolási módszereket tárolási osztályoknak nevezzük SQLite.
A következő tárolási osztályok érhetők el SQLite:
- NULL – ez a tárolási osztály bármilyen NULL érték tárolására szolgál.
- EGÉSZ SZÁM – bármely numerikus érték előjeles egész számként tárolódik (pozitív és negatív egész értékeket is tartalmazhat). Az INTEGER értékek SQLite a szám értékétől függően 1, 2, 3, 4, 6 vagy 8 bájtos tárolóban vannak tárolva.
- IGAZI – ez a tárolási osztály a lebegőpontos értékek tárolására szolgál, és 8 bájtos tárhelyen tárolódnak.
- TEXT – szöveges karakterláncokat tárol. Különböző kódolásokat is támogat, például UTF-8, UTF-16BE vagy UTF-16LE.
- FOLT – nagy fájlok, például képek vagy szövegfájlok tárolására szolgál. Az érték bájttömbként tárolódik, ugyanúgy, mint a bemeneti érték.
SQLite Affinitás típusa
Az oszlopokban tárolt adatok ajánlott típusa affinitás. Azonban továbbra is bármilyen típusú adatot tárolhat; ezek a típusok ajánlottak, de nem kötelezőek.
Ezeket a típusokat ben vezették be SQLite közötti kompatibilitás maximalizálása érdekében SQLite és egyéb adatbázis kezelő rendszers.
Az an-ban deklarált bármely oszlop SQLite az adatbázishoz a deklarált adattípustól függően típusaffinitást rendelnek. Itt található a típusaffinitások listája a következőben: SQLite:
- SZÖVEG.
- SZÁM.
- EGÉSZ SZÁM.
- IGAZI.
- FOLT.
Itt van, hogyan SQLite egy oszlop affinitását a deklarált adattípusa alapján határozza meg:
- INTEGER affinitás akkor van hozzárendelve, ha a deklarált típus tartalmazza a húr „INT”.
- A TEXT affinitás akkor kerül hozzárendelésre, ha az oszlop adattípusa a következő karakterláncok egyikét tartalmazza: „TEXT”, „CHAR” vagy „CLOB”. Például a VARCHAR típushoz TEXT affinitás lesz hozzárendelve.
- A BLOB-affinitás akkor van hozzárendelve, ha az oszlopnak nincs megadva típusa, vagy az adattípus BLOB.
- A REAL affinitás akkor kerül hozzárendelésre, ha a típus a következő karakterláncok egyikét tartalmazza: „DOUB”, „REAL” vagy „FLOAT”.
- Minden más adattípushoz NUMERIC affinitás van hozzárendelve.
Az alábbi táblázat néhány térképpéldát is mutat.ping között SQLite az alábbi szabályok által meghatározott adattípusok és rokonságuk:
Példák az adattípusok tárolására SQLite
Számok tárolása a SQLite EGÉSZ SZÁM
Ha bármely oszlop adattípusa tartalmazza az „INT” szót, akkor INTEGER típusú affinitást kap. Egy INTEGER tárolási osztályban lesz tárolva.
Az alábbi adattípusok mindegyike INTEGER típusú affinitást kap:
- INT, INTEGER, BIGINT.
- INT2, INT4, INT8.
- APRÓ, KICSI, KÖZEPES.
INTEGER típusú affinitás be SQLite 1 bájttól maximum 8 bájtig bármilyen hozzárendelt egész számot (pozitív vagy negatív) tárolhat.
Számok tárolása a SQLite IGAZI
A VALÓS számok dupla lebegőpontos pontosságú számok. SQLite a valós számokat 8 bájtos tömbként tárolja. Itt található az adattípusok listája SQLite amelyeket VALÓDI számok tárolására használhat:
- IGAZI.
- KETTŐS.
- KETTŐS PONTOSSÁG.
- ÚSZÓ.
Nagy adatok tárolása a SQLite FOLT
Csak egyféleképpen lehet nagy fájlokat tárolni SQLite adatbázis, és ez a BLOB adattípust használja. Ezt az adattípust nagy fájlok, például képek vagy bármilyen típusú fájlok tárolására használják. A fájlt bájttömbké alakítja, majd a bemeneti fájl méretével megegyező méretben tárolja.
Tárolása SQLite Logikai adattípus
SQLite nincs külön BOOLEAN tárolási osztállyal. Ehelyett a BOOLEAN értékek EGÉSZ SZÁMOKként tárolódnak, ahol a 0 a hamis, az 1 pedig az igaz értéket jelöli.
Tárolása SQLite dátumok és időpontok
Dátumokat vagy dátum-időpontokat deklarálhatsz a SQLite az alábbi adattípusok egyikével:
- DÁTUM
- DÁTUM IDŐ
- IDŐBÉLYEG
- IDŐ
Vegye figyelembe, hogy nincs külön DATE vagy DATETIME tárolási osztály a SQLiteEhelyett az előző adattípusok valamelyikével deklarált értékek a beszúrt érték dátumformátumától függő tárolási osztályban tárolódnak, az alábbiak szerint:
- TEXT – ha a dátumértéket ISO8601 karakterlánc formátumban adja meg („ÉÉÉÉ-HH-NN ÓÓ:PP:MM.MMMM”).
- IGAZI – ha a dátumértéket Julián-napként adja meg, akkor a greenwichi dél óta eltelt napok száma Kr. e. 4714. november 24-én. A dátumérték ezután VALÓS számként lesz tárolva.
- EGÉSZ SZÁM – mint Unix Idő, a másodpercek száma 1970-01-01 00:00:00 UTC óta.

