Datu veidi SQLite ir atšķirīgi, salīdzinot ar citu datu bāzes pārvaldības sistēmu. Programmā SQLite datu tipus var deklarēt normāli, bet jūs joprojām varat saglabāt jebkuru vērtību jebkurā datu tipā.
Šajā apmācībā jūs uzzināsiet
- Uzglabāšanas klases
- Interešu tips
- Datu tipu glabāšanas SQLite piemēri
SQLite tiek ierakstīts mazāk. Datu tipu nav, jebkurā slejā varat glabāt jebkura veida datus, kas jums patīk. To sauc par dinamiskajiem tipiem.
Statiskos veidos, tāpat kā citās datu bāzes pārvaldības sistēmās, ja deklarējāt kolonnu ar datu tipa veselu skaitli, varat ievietot tikai datu tipa vesels skaitlis vērtības. Tomēr tādos dinamiskajos veidos kā SQLite kolonnas veidu nosaka pēc ievietotās vērtības. Un pēc tam SQLite saglabā šo vērtību atkarībā no tā veida.
SQLite krātuves klases
SQLite ir dažādas glabāšanas metodes atkarībā no vērtības veida, šīs dažādās krātuves metodes SQLite sauc par krātuves klasēm.
SQLite ir pieejamas šādas krātuves klases:
- NULL - šo krātuves klasi izmanto, lai saglabātu jebkuru NULL vērtību.
- INTEGER - jebkura skaitliskā vērtība tiek saglabāta kā parakstīta vesela skaitļa vērtība (tajā var būt gan pozitīva, gan negatīva vesela skaitļa vērtības). INTEGER vērtības SQLite tiek saglabātas vai nu 1, 2, 3, 4, 6 vai 8 baitos atkarībā no skaitļa vērtības.
- REAL - šī atmiņas klase tiek izmantota peldošā komata vērtību glabāšanai, un tās tiek glabātas 8 baitu krātuvē.
- TEXT - saglabā teksta virknes. Tas atbalsta arī dažādus kodējumus, piemēram, UTF-8, UTF-16 BE vai UTF-26LE.
- BLOB - izmanto lielu failu, piemēram, attēlu vai teksta failu, glabāšanai. Vērtība tiek saglabāta kā baitu masīvs tāpat kā ievades vērtība.
SQLite interešu tips
Tipa afinitāte ir ieteicamais kolonnā saglabāto datu veids. Tomēr jūs joprojām varat uzglabāt jebkura veida datus, kā vēlaties, šie veidi nav ieteicami.
Šie veidi tika ieviesti SQLite, lai maksimāli palielinātu saderību starp SQLite un citu datu bāzes pārvaldības sistēmu.
Jebkurai kolonnai, kas deklarēta SQLite datu bāzē, tiek piešķirta tipa afinitāte atkarībā no tās deklarētā datu veida. Šeit SQLite tipa interešu pieaugums:
- TEKSTS.
- NUMERIC.
- VESELS SKAITLIS.
- ĪSTS.
- LABUMS.
Lūk, kā SQLite nosaka kolonnas afinitāti no deklarētā datu veida:
- INTEGER afinitāte tiek piešķirta, ja deklarētajā tipā ir virkne " INT ".
- TEXT afinitāte tiek piešķirta, ja kolonnas datu tipā ir viena no šīm virknēm: " TEXT ", " CHAR vai" CLOB ". Piemēram, VARCHAR tipam tiks piešķirta TEXT afinitāte.
- BLOB afinitāte tiek piešķirta, ja kolonnā nav norādīts tips vai datu tips ir BLOB.
- ĪSTA afinitāte tiek piešķirta, ja tipā ir viena no šīm virknēm " DOUB ", " REAL " vai " FLOAT ".
- NUMERIC intereses tiek piešķirtas jebkuram citam datu tipam.
Tajā pašā lapā ir arī tabula, kurā parādīti daži piemēri, kā salīdzināt SQLite datu tipus un to saistību, ko nosaka šie noteikumi:
Datu tipu glabāšanas SQLite piemēri:
Numura glabāšana ar SQLite veselu skaitli:
Jebkurā datu veida kolonnā ir vārds “INT”, tam tiks piešķirta INTEGER tipa afinitāte. Tas tiks glabāts INTEGER krātuves klasē.
Visi šie datu tipi tiek piešķirti kā INTEGER tipa afinitāte:
- INT, INTEGER, BIGINT.
- INT2, INT4, INT8.
- TINININT, SMALLINT, MEDIUM INT.
INTEGER tipa afinitāte SQLite var saturēt jebkuru piešķirtu veselu skaitli (pozitīvu vai negatīvu) no 1 baita līdz maksimāli 8 baitiem.
Skaitļu glabāšana, izmantojot SQLite REAL:
ĪSTIE skaitļi ir skaitlis ar dubultu peldošo punktu precizitāti. SQLite reālos skaitļus glabāja kā 8 baitu masīvu. Šeit ir SQLite datu tipu saraksts, kurus varat izmantot ĪSTU numuru glabāšanai:
- ĪSTS.
- DUBULA.
- DIVkārša precizitāte.
- Pludiņš.
Lielu datu glabāšana, izmantojot SQLite BLOB:
Ir tikai viens veids, kā saglabāt lielus failus SQLite datu bāzē, un tas izmanto BLOB datu tipu. Šis datu tips tiek izmantots lielu failu, piemēram, attēlu, failu (no jebkura veida), uc glabāšanai. Fails tiek pārveidots par baitu masīvu un pēc tam saglabāts tādā pašā izmērā kā ievades fails.
SQLite Booleans glabāšana:
SQLite nav atsevišķas BOOLEAN krātuves klases. Tomēr BOOLEAN vērtības tiek saglabātas kā INTEGERS ar vērtībām 0 (kā nepatiesa) vai 1 (kā patiesa).
SQLite datumu un laiku glabāšana:
Datumu vai datuma laiku varat deklarēt SQLite, izmantojot kādu no šiem datu tipiem:
- DATUMS
- DATUMS LAIKS
- TIMESTAMP
- LAIKS
Ņemiet vērā, ka SQLite nav atsevišķas DATE vai DATETIME krātuves klases. Tā vietā visas vērtības, kas deklarētas ar kādu no iepriekšējiem datu tipiem, tiek glabātas krātuves klasē atkarībā no ievietotās vērtības datuma formāta šādi:
- TEXT - ja datuma vērtību ievietojāt ISO8601 virknes formātā ("GGGG-MM-DD HH: MM: SS.SSS").
- PATIESA - ja Jūlija dienas skaitļos ievadījāt datuma vērtību, dienu skaits kopš Grīnvičas 4714. gada 24. novembra pirms mūsu ēras pusdienlaika, tad datuma vērtība tiktu saglabāta kā ĪSTA.
- INTEGER kā Unix laiks, sekunžu skaits kopš 1970. gada 1. janvāra 00:00:00 pēc UTC.
Kopsavilkums:
SQLite atbalsta plašu datu tipu klāstu. Tajā pašā laikā tas ir ļoti elastīgs attiecībā uz datu tipiem. Jebkurā datu tipā varat ievietot jebkuru vērtības veidu. SQLite arī ieviesa dažus jaunus jēdzienus datu tipos, piemēram, tipa radniecības un glabāšanas klases, atšķirībā no citām datu bāzu pārvaldības sistēmām.