MySQL EST NULL ET EST PAS NULL Tutoriel avec EXEMPLES

Dans SQL, Null est à la fois une valeur et un mot-clé. Examinons d'abord la valeur NULL -

MySQL EST NULL ET N'EST PAS NULL

Nul comme valeur

En termes simples, NULL est simplement un espace réservé pour des données qui n'existent pas. Lors de l'exécution de l'insertion operaDans les tableaux, il y aura des moments où certaines valeurs de champs ne seront pas disponibles.

Afin de répondre aux exigences des véritables systèmes de gestion de bases de données relationnelles, MySQL utilise NULL comme espace réservé pour les valeurs qui n'ont pas été soumises. La capture d'écran ci-dessous montre à quoi ressemblent les valeurs NULL dans la base de données.

Nul comme valeur

Examinons maintenant quelques bases de NULL avant d'aller plus loin dans la discussion.

  • NULL n'est pas un type de données – cela signifie qu'il n'est pas reconnu comme un « int », une « date » ou tout autre type de données défini.
  • Arithmétique operations impliquant NULL toujours retourner NULL par exemple, 69 + NULL = NULL.
  • Tous fonctions d'agrégation n'affecte que les lignes qui n'ont pas de valeurs NULL.

Montrons maintenant comment la fonction count traite les valeurs nulles. Voyons le contenu actuel de la table des membres.

SELECT * FROM `members`;

L'exécution du script ci-dessus nous donne le résultat suivantwing résultats

membership_ number full_ names gender date_of_ birth physical_ address postal_ address contact_ number email
1 Janet Jones Female 21-07-1980 First Street Plot No 4 Private Bag 0759 253 542 janetjones@yagoo.cm
2 Janet Smith Jones Female 23-06-1980 Melrose 123 NULL NULL jj@fstreet.com
3 Robert Phil Male 12-07-1989 3rd Street 34 NULL 12345rm@tstreet.com
4 Gloria Williams Female 14-02-1984 2nd Street 23 NULL NULL NULL
5 Leonard Hofstadter MaleNULL Woodcrest NULL 845738767 NULL
6 Sheldon Cooper Male NULL Woodcrest NULL 976736763 NULL
7 Rajesh Koothrappali Male NULL Woodcrest NULL 938867763 NULL
8 Leslie Winkle Male 14-02-1984 Woodcrest NULL 987636553 NULL
9 Howard Wolowitz Male 24-08-1981 SouthPark P.O. Box 4563 987786553 lwolowitz[at]email.me

Comptons tous les membres qui ont mis à jour leur numéro de contact

SELECT COUNT(contact_number)  FROM `members`;

L'exécution de la requête ci-dessus nous donne le résultat suivantwing résultats.

COUNT(contact_number)
7

Remarque : Les valeurs NULL n'ont pas été incluses

Ce qui n'est pas?

Le PAS logique operator est utilisé pour tester les conditions booléennes et renvoie vrai si la condition est fausse. Le NON operator renvoie false si la condition testée est vraie

État ne pas Operarésultat
Vrai Faux
Faux Vrai

Pourquoi utiliser NOT null ?

Il y aura des cas où nous devrons effectuer des calculs sur un jeu de résultats de requête et renvoyer les valeurs. Effectuer n’importe quelle arithmétique operaLes opérations sur les colonnes qui ont la valeur NULL renvoient des résultats nuls. Afin d'éviter que de telles situations ne se produisent, nous pouvons utiliser la clause NOT NULL pour limiter les résultats sur lesquels nos données sont analysées. operatees

Valeurs NON NULLes

Supposons que nous souhaitions créer une table avec certains champs qui doivent toujours recevoir des valeurs lors de l'insertion de nouvelles lignes dans une table. On peut utiliser la clause NOT NULL sur un champ donné lors de la création de la table.

L'exemple ci-dessous crée une nouvelle table contenant les données de l'employé. Le numéro d'employé doit toujours être fourni

CREATE TABLE `employees`(
  employee_number int NOT NULL,
  full_names varchar(255) ,
  gender varchar(6)
);

Essayons maintenant d'insérer un nouvel enregistrement sans préciser le nom de l'employé et voyons ce qui se passe.

INSERT INTO `employees` (full_names,gender) VALUES ('Steve Jobs', 'Male');

Exécuter le script ci-dessus dans MySQL l'établi donne le suiviwing Erreur-

Valeurs NON NULLes

Mots clés NULL

NULL peut également être utilisé comme mot-clé lors de l'exécution d'une opération booléenne. operation sur les valeurs qui incluent NULL. Le mot-clé « IS/NOT » est utilisé conjointement avec le mot NULL à ces fins. La syntaxe de base lorsque null est utilisé comme mot-clé est la suivante

`comlumn_name'  IS NULL
`comlumn_name' NOT NULL

ICI

  • « EST NULL est le mot-clé qui effectue la comparaison booléenne. Il renvoie vrai si la valeur fournie est NULL et false si la valeur fournie n'est pas NULL.
  • « NON NULL »est le mot-clé qui effectue la comparaison booléenne. Il renvoie vrai si la valeur fournie n'est pas NULL et faux si la valeur fournie est nulle.

Examinons maintenant un exemple pratique qui utilise le mot-clé NOT NULL pour éliminer toutes les valeurs de colonne ayant des valeurs nulles.

En continuant avec l'exemple ci-dessus, supposons que nous ayons besoin details des membres dont le numéro de contact n'est pas nul. Nous pouvons exécuter une requête comme

SELECT * FROM `members` WHERE contact_number IS NOT NULL;

L'exécution de la requête ci-dessus ne donne que les enregistrements pour lesquels le numéro de contact n'est pas nul.

Supposons que nous voulions des enregistrements de membres dont le numéro de contact est nul. Nous pouvons utiliser followwing question

SELECT * FROM `members` WHERE contact_number IS NULL;

L'exécution de la requête ci-dessus donne au membre details dont le numéro de contact est NULL

membership_ number full_names gender date_of_birth physical_address postal_address contact_ number email
1 Janet Jones Female 21-07-1980 First Street Plot No 4 Private Bag 0759 253 542 janetjones@yagoo.cm
3 Robert Phil Male 12-07-1989 3rd Street 34 NULL 12345 rm@tstreet.com
5 Leonard Hofstadter Male NULL Woodcrest NULL 845738767 NULL
6 Sheldon Cooper Male NULL Woodcrest NULL 976736763 NULL
7 Rajesh Koothrappali Male NULL Woodcrest NULL 938867763 NULL
8 Leslie Winkle Male 14-02-1984 Woodcrest NULL 987636553 NULL
9 Howard Wolowitz Male 24-08-1981 SouthPark P.O. Box 4563 987786553 lwolowitz[at]email.me

Comparaison de valeurs nulles

Logique à trois valeurs – effectuer du booléen operales conditions qui impliquent NULL peuvent soit renvoyer « Inconnu », « Vrai » ou « Faux ».

Par exemple, en utilisant le mot-clé « IS NULL » en faisant une comparaison operations impliquant NULL peut soit revenir oui or non. Utiliser une autre comparaison operales retours des tors « Inconnu » (NULL).

Supposons que vous compariez le numéro cinq avec 5

SELECT 5 =5;

Le résultat de la requête est 1, ce qui signifie VRAI

5 =5
1

Faisons de même operation avec NULL

SELECT NULL = NULL;
NULL = NULL
NULL

Regardons un autre exemple

SELECT 5 > 5;
5 > 5
0

Le résultat de la requête est 0, ce qui signifie FAUX

Regardons le même exemple en utilisant NULL

SELECT NULL > NULL;
NULL > NULL
NULL

Utilisons le mot-clé IS NULL

SELECT 5 IS NULL;
5 IS NULL
0

Le résultat de la requête est 0, ce qui est FAUX

SELECT NULL IS NULL;

NULL IS NULL
1

Le résultat de la requête est 1, ce qui est VRAI

Résumé

  • NULL est un espace réservé à la valeur pour les champs de table facultatifs.
  • MySQL traite la valeur NULL différemment des autres types de données. Les valeurs NULL, lorsqu'elles sont utilisées dans une condition, donnent la fausse valeur booléenne.
  • Le PAS logique operate est utilisé pour tester les valeurs booléennes et est évalué à vrai si la valeur booléenne est fausse et à faux si la valeur booléenne est vraie.
  • La clause NOT NULL est utilisée pour éliminer les valeurs NULL d'un jeu de résultats
  • Effectuer de l'arithmétique operaLes opérations sur les valeurs NULL renvoient toujours des résultats NULL.
  • La comparaison operades valeurs telles que [, =, etc.] ne peuvent pas être utilisées pour comparer des valeurs NULL.