SQLite Adattípusok példával: Int, Text, Numeric, Real, Blob
Adattípusok be SQLite különböznek a többi adatbázis-kezelő rendszertől. Ban ben SQLite, az adattípusokat a szokásos módon deklarálhatja, de bármilyen adattípusban bármilyen értéket tárolhat.
SQLite kevésbé van beírva. Nincsenek adattípusok, tetszőleges típusú adatokat tárolhat bármelyik oszlopban. Ezt dinamikus típusoknak nevezzük.
A statikus típusokban, mint más adatbázis-kezelő rendszerekben, ha egy oszlopot egész adattípussal deklarált, akkor csak egész adattípusú értékeket szúrhat be. Azonban a dinamikus típusokban, mint pl SQLite, az oszlop típusát a beillesztett érték határozza meg. És akkor 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 értékként kerül tárolásra (pozitív és negatív egész értékeket is tartalmazhat). Az INTEGER értékek in 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 egy 8 bájtos tárolóban tárolódnak.
- TEXT – tárolja a szöveges karakterláncokat. Támogatja a különböző kódolásokat is, mint például az UTF-8, UTF-16 BE vagy UTF-26LE.
- FOLT – nagy fájlok, például képek vagy szöveges fájlok tárolására szolgál. Az érték a bemeneti értékkel megegyező bájttömbként kerül tárolásra.
SQLite Affinitás típusa
A típusaffinitás az oszlopban tárolt adatok ajánlott típusa. Azonban továbbra is bármilyen típusú adatot tárolhat, ahogy szeretné, ezek a típusok 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ő rendszer.
Az an-ban deklarált bármely oszlop SQLite Az adatbázis típusaffinitást kap a deklarált adattípustól függően. Itt a típusaffinitások növekedése SQLite:
- SZÖVEG.
- SZÁM.
- EGÉSZ SZÁM.
- IGAZI.
- FOLT.
Itt van, hogyan SQLite meghatározza az oszlop affinitását a deklarált adattípusból:
- INTEGER affinitás akkor van hozzárendelve, ha a deklarált típus tartalmazza a húr "INT".
- A SZÖVEG affinitás hozzá van rendelve, ha az oszlop adattípusában a következő karakterláncok egyikét tartalmazza:TEXT","CHAR, vagyCLOB“. Például a VARCHAR típushoz lesz hozzárendelve a SZÖVEG affinitás.
- A BLOB-affinitás akkor van hozzárendelve, ha az oszlopnak nincs megadva típusa, vagy az adattípus BLOB.
- A VALÓDI affinitás akkor van hozzárendelve, ha a típus tartalmazza a következő karakterláncok egyikét:DOUB","IGAZI, vagyÚSZÓ".
- Minden más adattípushoz NUMERIC affinitás van hozzárendelve.
Ugyanezen az oldalon található egy táblázat is, amely néhány példát mutat a közötti leképezésre 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ám tárolása a SQLite egész szám
Bármely adattípus oszlop tartalmazza az „INT” szót, az INTEGER típusú affinitást kapja. INTEGER tárolási osztályban lesz tárolva.
Az összes alábbi adattípus INTEGER típusú affinitásként van hozzárendelve:
- INT, INTEGER, BIGINT.
- INT2, INT4, INT8.
- TINYINT, SMALLINT, KÖZEPES INT.
INTEGER típusú affinitás be SQLite bármilyen hozzárendelt egész számot (pozitív vagy negatív) tartalmazhat 1 bájttól maximum 8 bájtig.
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 egy módja van a nagy fájlok tárolásának a SQLite adatbázist, és a BLOB adattípust használja. Ezt az adattípust nagy fájlok, például képek, fájlok (bármilyen típusú) tárolására használják. A fájl bájttömbbé konvertálódik, majd a bemeneti fájl méretével megegyező méretben tárolódik.
Tárolása SQLite Logikai adattípus
SQLite nincs külön BOOLEAN tárolási osztálya. A BOOLEAN értékeket azonban a rendszer INTEGERS-ként tárolja, 0 (hamis) vagy 1 (igaz) értékkel.
Tárolása SQLite dátumok és időpontok
Bejelentheti a dátumot vagy a dátumidőket 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 SQLite. Ehelyett az előző adattípusok valamelyikével deklarált értékek a beillesztett érték dátumformátumától függően egy tárolási osztályban tárolódnak, az alábbiak szerint:
- TEXT – ha a dátumértéket az ISO8601 karakterlánc formátumában szúrta be ("ÉÉÉÉ-HH-NN ÓÓ:PP:SS.SSS").
- IGAZI – ha beilleszti a dátumértéket a Julian-napszámok közé, a Greenwichben dél óta eltelt napok számát i.e. 24. november 4714-én, akkor a dátum értéke REAL-ként kerül tárolásra.
- EGÉSZ SZÁM as Unix Idő, a másodpercek száma 1970-01-01 00:00:00 UTC óta.
Összegzésként
SQLite adattípusok széles skáláját támogatja. Ugyanakkor nagyon rugalmas az adattípusok tekintetében. Bármilyen értéktípust bármilyen adattípusba megadhat. SQLite más adatbázis-kezelő rendszerekkel ellentétben bevezetett néhány új fogalmat az adattípusokban, mint például a típusaffinitás és a tárolási osztályok.