SQLite NULL-Werte

SQLitesNULList ein Begriff, der verwendet wird, um einen fehlenden Wert darzustellen. Ein NULL-Wert in einer Tabelle ist ein Wert, der in einem Feld leer angezeigt wird.

Ein Feld mit einem NULL-Wert ist ein Feld ohne Wert. Es ist sehr wichtig zu verstehen, dass sich ein NULL-Wert von einem Nullwert oder einem Feld, das Leerzeichen enthält, unterscheidet.

Syntax

Wird beim Erstellen einer Tabelle verwendetNULLDie grundlegende Syntax lautet wie folgt:

SQLite> CREATE TABLE COMPANY(
   ID INT PRIMARY KEY     NOT NULL,
   NAME           TEXT    NOT NULL,
   AGE            INT     NOT NULL,
   ADDRESS        CHAR(50),
   SALARY         REAL
);

Hier,NOT NULLgibt an, dass die Spalte immer explizite Werte des angegebenen Datentyps akzeptiert. Es gibt zwei Spalten, in denen wir NOT NULL nicht verwendet haben, was bedeutet, dass diese beiden Spalten NULL sein können.

Ein Feld mit einem NULL-Wert kann beim Erstellen des Datensatzes leer gelassen werden.

Beispiel

NULL-Werte können beim Auswählen von Daten Probleme verursachen, denn wenn ein unbekannter Wert mit einem anderen Wert verglichen wird, ist das Ergebnis immer unbekannt und wird nicht in die Endergebnisse aufgenommen. Angenommen, es gibt die folgende Tabelle, die Datensätze von COMPANY sind wie unten gezeigt:

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
1           Paul        32          California  20000.0
2           Allen       25          Texas       15000.0
3           Teddy       23          Norway      20000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0
6           Kim         22          South-Hall  45000.0
7           James       24          Houston     10000.0

Lassen Sie uns die UPDATE-Anweisung verwenden, um einige Werte, die null zulassen, auf NULL zu setzen, wie unten gezeigt:

sqlite> UPDATE COMPANY SET ADDRESS = NULL, SALARY = NULL where ID IN(6,7);

Nun sind die Datensätze der Tabelle COMPANY wie unten gezeigt:

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
1           Paul        32          California  20000.0
2           Allen       25          Texas       15000.0
3           Teddy       23          Norway      20000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0
6           Kim         22
7           James       24

Als Nächstes sehen wir unsIS NOT NULLdie Verwendung des Operators an, mit dem alle Datensätze aufgelistet werden, bei denen SALARY nicht NULL ist:

sqlite> SELECT  ID, NAME, AGE, ADDRESS, SALARY
        FROM COMPANY
        WHERE SALARY IS NOT NULL;

Die obige SQLite-Anweisung erzeugt das folgende Ergebnis:

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
1           Paul        32          California  20000.0
2           Allen       25          Texas       15000.0
3           Teddy       23          Norway      20000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0

Unten istIS NULLdie Verwendung des Operators, mit dem alle Datensätze aufgelistet werden, bei denen SALARY NULL ist:

sqlite> SELECT  ID, NAME, AGE, ADDRESS, SALARY
        FROM COMPANY
        WHERE SALARY IS NULL;

Die obige SQLite-Anweisung erzeugt das folgende Ergebnis:

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
6           Kim         22
7           James       24
Andere Erweiterungen