SQLite Valeurs NULL
LeNULLde SQLite est un terme utilisé pour représenter une valeur manquante. Une valeur NULL dans une table est une valeur affichée comme vide dans un champ.
Un champ avec une valeur NULL est un champ sans valeur. Il est très important de comprendre qu'une valeur NULL est différente d'une valeur zéro ou d'un champ contenant des espaces.
Syntaxe
Utilisé lors de la création d'une tableNULLLa syntaxe de base est la suivante :
SQLite> CREATE TABLE COMPANY( ID INT PRIMARY KEY NOT NULL, NAME TEXT NOT NULL, AGE INT NOT NULL, ADDRESS CHAR(50), SALARY REAL );
Ici,NOT NULLIndique que la colonne accepte toujours des valeurs explicites du type de données donné. Il y a deux colonnes où nous n'avons pas utilisé NOT NULL, ce qui signifie que ces deux colonnes peuvent être NULL.
Un champ avec une valeur NULL peut être laissé vide lors de la création de l'enregistrement.
Exemple
Les valeurs NULL peuvent poser des problèmes lors de la sélection de données, car lorsqu'une valeur inconnue est comparée à une autre valeur, le résultat est toujours inconnu et ne sera pas inclus dans les résultats finaux. Supposons qu'il existe la table suivante, les enregistrements de COMPANY sont comme indiqué ci-dessous :
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
Utilisons l'instruction UPDATE pour définir certaines valeurs qui permettent à null d'être NULL, comme indiqué ci-dessous :
sqlite> UPDATE COMPANY SET ADDRESS = NULL, SALARY = NULL where ID IN(6,7);
Maintenant, les enregistrements de la table COMPANY sont comme indiqué ci-dessous :
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
Ensuite, regardonsIS NOT NULLl'utilisation de l'opérateur, qui est utilisée pour lister tous les enregistrements où SALARY n'est pas NULL :
sqlite> SELECT ID, NAME, AGE, ADDRESS, SALARY
FROM COMPANY
WHERE SALARY IS NOT NULL;
L'instruction SQLite ci-dessus produira le résultat suivant :
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
Ci-dessous se trouveIS NULLl'utilisation de l'opérateur, qui listera tous les enregistrements où SALARY est NULL :
sqlite> SELECT ID, NAME, AGE, ADDRESS, SALARY
FROM COMPANY
WHERE SALARY IS NULL;
L'instruction SQLite ci-dessus produira le résultat suivant :
ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 6 Kim 22 7 James 24Autres extensions