SQLite Datentypen mit Beispiel: Int, Text, Numerisch, Real, Blob
Datentypen in SQLite unterscheiden sich von anderen Datenbankverwaltungssystemen. In SQLitekรถnnen Sie Datentypen normal deklarieren, aber Sie kรถnnen trotzdem jeden Wert in jedem Datentyp speichern.
SQLite wird weniger getippt. Es gibt keine Datentypen. Sie kรถnnen jeden beliebigen Datentyp in jeder Spalte speichern. Dies nennt man dynamische Typen.
Wenn Sie in statischen Typen wie in anderen Datenbankverwaltungssystemen eine Spalte mit einem Datentyp โIntegerโ deklariert haben, kรถnnen Sie nur Werte des Datentyps โIntegerโ einfรผgen. Allerdings in dynamischen Typen wie in SQLite, der Typ der Spalte wird durch den eingefรผgten Wert bestimmt. Und dann SQLite speichert diesen Wert je nach Typ.
SQLite Speicherklassen
In SQLite Abhรคngig von der Art des Werts gibt es unterschiedliche Speichermethoden. Diese unterschiedlichen Speichermethoden werden in als Speicherklassen bezeichnet SQLite.
Die folgenden Speicherklassen sind verfรผgbar in SQLite:
- NULL โ Diese Speicherklasse wird zum Speichern eines beliebigen NULL-Werts verwendet.
- GANZE ZAHL โ Jeder numerische Wert wird als vorzeichenbehafteter Ganzzahlwert gespeichert (er kann sowohl positive als auch negative Ganzzahlwerte enthalten). Die INTEGER-Werte in SQLite werden abhรคngig vom Wert der Zahl entweder in 1, 2, 3, 4, 6 oder 8 Byte Speicher gespeichert.
- REAL โ Diese Speicherklasse wird zum Speichern der Gleitkommawerte verwendet und sie werden in einem 8-Byte-Speicher gespeichert.
- TEXT โ speichert Textzeichenfolgen. Es unterstรผtzt auch verschiedene Codierungen wie UTF-8, UTF-16 BE oder UTF-26LE.
- BLOB โ Wird zum Speichern groรer Dateien wie Bilder oder Textdateien verwendet. Der Wert wird wie der Eingabewert als Byte-Array gespeichert.
SQLite Affinitรคtstyp
Typaffinitรคt ist der empfohlene Datentyp, der in einer Spalte gespeichert wird. Sie kรถnnen jedoch weiterhin beliebige Datentypen speichern. Diese Datentypen werden jedoch empfohlen und sind nicht erforderlich.
Diese Typen wurden eingefรผhrt SQLite um die Kompatibilitรคt zwischen zu maximieren SQLite und andere Datenbankverwaltungssystem.
Jede in einer deklarierte Spalte SQLite Der Datenbank wird abhรคngig vom deklarierten Datentyp eine Typaffinitรคt zugewiesen. Hier der Aufschwung der Typverwandtschaften SQLite:
- TEXT.
- NUMERISCH.
- GANZE ZAHL.
- ECHT.
- KLECKS.
Hier ist wie SQLite bestimmt die Affinitรคt der Spalte anhand ihres deklarierten Datentyps:
- Die INTEGER-Affinitรคt wird zugewiesen, wenn der deklarierte Typ die enthรคlt Schnur "INT".
- TEXT-Affinitรคt wird zugewiesen, wenn die Spalte als Datentyp eine der folgenden Zeichenfolgen enthรคlt:TEXTโVERKOHLEN, oder "CLOBโ. Beispielsweise wird dem Typ VARCHAR die TEXT-Affinitรคt zugewiesen.
- BLOB-Affinitรคt wird zugewiesen, wenn fรผr die Spalte kein Typ angegeben ist oder der Datentyp ein BLOB ist.
- REAL-Affinitรคt wird zugewiesen, wenn der Typ eine der folgenden Zeichenfolgen enthรคlt:DOUBโREAL, oder "FLOAT".
- Die Affinitรคt NUMERIC wird jedem anderen Datentyp zugewiesen.
Auf der gleichen Seite befindet sich auch eine Tabelle mit einigen Beispielen fรผr die Zuordnung zwischen SQLite Datentypen und ihre Affinitรคten werden durch diese Regeln bestimmt:

Beispiele fรผr das Speichern von Datentypen in SQLite
Nummer speichern mit SQLite ganze Zahl
Jede Spalte des Datentyps enthรคlt das Wort โINTโ, ihr wird eine Affinitรคt vom Typ INTEGER zugewiesen. Es wird in einer INTEGER-Speicherklasse gespeichert.
Allen folgenden Datentypen wird die Typaffinitรคt INTEGER zugewiesen:
- INT, INTEGER, BIGINT.
- INT2, INT4, INT8.
- TINYINT, SMALLINT, MEDIUM INT.
INTEGER-Typaffinitรคt in SQLite kann jede zugewiesene Ganzzahl (positiv oder negativ) von 1 Byte bis maximal 8 Bytes enthalten.
Nummern speichern mit SQLite REAL
REAL-Zahlen sind Zahlen mit doppelter Gleitkommagenauigkeit. SQLite gespeicherte reelle Zahlen als 8-Byte-Array. Hier ist die Liste der Datentypen in SQLite die Sie zum Speichern von REAL-Zahlen verwenden kรถnnen:
- ECHT.
- DOPPELT.
- DOPPELTE PRรZISION.
- SCHWEBEN.
Speichern groรer Datenmengen mit SQLite BLOB
Es gibt nur eine Mรถglichkeit, groรe Dateien in einem zu speichern SQLite Datenbank und verwendet den BLOB-Datentyp. Dieser Datentyp wird zum Speichern groรer Dateien wie Bilder, Dateien (jeglichen Typs) usw. verwendet. Die Datei wird in ein Byte-Array konvertiert und dann in derselben Grรถรe wie die Eingabedatei gespeichert.
Speicherung SQLite Booleans
SQLite verfรผgt รผber keine separate BOOLEAN-Speicherklasse. Die BOOLEAN-Werte werden jedoch als INTEGERS mit den Werten 0 (als falsch) oder 1 (als wahr) gespeichert.
Speicherung SQLite Daten und Uhrzeiten
Sie kรถnnen Datum oder Uhrzeit angeben SQLite mithilfe eines der folgenden Datentypen:
- DATUM
- Datetime
- TIMESTAMP
- ZEIT-
Beachten Sie, dass es keine separate DATE- oder DATETIME-Speicherklasse gibt SQLite. Stattdessen werden alle mit einem der vorherigen Datentypen deklarierten Werte in einer Speicherklasse gespeichert, abhรคngig vom Datumsformat des eingefรผgten Werts, und zwar wie folgt:
- TEXT โ wenn Sie den Datumswert im Format der ISO8601-Zeichenfolge (โJJJJ-MM-TT HH:MM:SS.SSSโ) eingegeben haben.
- REAL โ wenn Sie den Datumswert in den julianischen Tageszahlen einsetzen, der Anzahl der Tage seit dem Mittag in Greenwich am 24. November 4714 v. Chr. Dann wรผrde der Datumswert als REAL gespeichert.
- GANZE ZAHL as Unix Zeit, die Anzahl der Sekunden seit dem 1970 01:01:00 UTC.
Zusammenfassung
SQLite unterstรผtzt eine breite Palette von Datentypen. Gleichzeitig ist es jedoch sehr flexibel hinsichtlich der Datentypen. Sie kรถnnen jeden Werttyp in jeden Datentyp einfรผgen. SQLite fรผhrte im Gegensatz zu anderen Datenbankverwaltungssystemen auch einige neue Konzepte in Datentypen wie Typaffinitรคt und Speicherklassen ein.
