SQLite: tipo di dati
Il tipo di dati SQLite è un attributo che specifica il tipo di dati di qualsiasi oggetto. Ogni colonna, variabile ed espressione ha un tipo di dati correlato in SQLite.
Utilizzeresti questi tipi di dati durante la creazione delle tabelle. SQLite utilizza un sistema di tipi dinamico più generale. In SQLite, il tipo di dati di un valore è associato al valore stesso, non al suo contenitore.
Classi di archiviazione SQLite
Ogni valore memorizzato in un database SQLite ha una delle seguenti classi di archiviazione:
Sr.No. | Classe di archiviazione e descrizione |
---|---|
1 | NULL Il valore è un valore NULL. |
2 | INTEGER Il valore è un numero intero con segno, memorizzato in 1, 2, 3, 4, 6 o 8 byte a seconda della grandezza del valore. |
3 | REAL Il valore è un valore in virgola mobile, memorizzato come numero in virgola mobile IEEE a 8 byte. |
4 | TEXT Il valore è una stringa di testo, memorizzata utilizzando la codifica del database (UTF-8, UTF-16BE o UTF-16LE) |
5 | BLOB Il valore è un blob di dati, archiviato esattamente come è stato immesso. |
La classe di archiviazione SQLite è leggermente più generale di un tipo di dati. La classe di archiviazione INTEGER, ad esempio, include 6 diversi tipi di dati interi di diverse lunghezze.
Tipo di affinità SQLite
SQLite supporta il concetto di type affinitysu colonne. Qualsiasi colonna può ancora memorizzare qualsiasi tipo di dati, ma la classe di archiviazione preferita per una colonna è chiamata proprioaffinity. A ciascuna colonna della tabella in un database SQLite3 viene assegnata una delle seguenti affinità di tipo:
Sr.No. | Affinità e descrizione |
---|---|
1 | TEXT Questa colonna memorizza tutti i dati utilizzando le classi di archiviazione NULL, TEXT o BLOB. |
2 | NUMERIC Questa colonna può contenere valori che utilizzano tutte e cinque le classi di archiviazione. |
3 | INTEGER Ha lo stesso comportamento di una colonna con affinità NUMERICA, con un'eccezione in un'espressione CAST. |
4 | REAL Si comporta come una colonna con affinità NUMERICA tranne per il fatto che forza i valori interi nella rappresentazione in virgola mobile. |
5 | NONE Una colonna con affinità NONE non preferisce una classe di archiviazione rispetto a un'altra e non viene effettuato alcun tentativo di forzare i dati da una classe di archiviazione a un'altra. |
Affinità SQLite e nomi dei tipi
La tabella seguente elenca vari nomi di tipi di dati che possono essere utilizzati durante la creazione di tabelle SQLite3 con l'affinità applicata corrispondente.
Tipo di dati | Affinità |
---|---|
|
NUMERO INTERO |
|
TESTO |
|
NESSUNA |
|
VERO |
|
NUMERICO |
Tipo di dati booleano
SQLite non dispone di una classe di archiviazione booleana separata. I valori booleani vengono invece archiviati come numeri interi 0 (falso) e 1 (vero).
Tipo di dati data e ora
SQLite non ha una classe di archiviazione separata per la memorizzazione di date e / o ore, ma SQLite è in grado di memorizzare date e ore come valori TEXT, REAL o INTEGER.
Sr.No. | Classe di archiviazione e formato della data |
---|---|
1 | TEXT Una data in un formato come "AAAA-MM-GG HH: MM: SS.SSS" |
2 | REAL Il numero di giorni trascorsi da mezzogiorno a Greenwich il 24 novembre 4714 a.C. |
3 | INTEGER Il numero di secondi trascorsi dall'01-01 1970 alle 00:00:00 UTC |
È possibile scegliere di memorizzare date e ore in uno qualsiasi di questi formati e convertire liberamente tra i formati utilizzando le funzioni di data e ora integrate.