Maison > Article > base de données > Quelle est la différence entre la valeur null de MySQL et NULL ? (avec des exemples)
Ce que cet article vous apporte, c'est quelle est la différence entre la valeur nulle de MySQL et NULL ? (Avec des exemples), il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il vous sera utile.
La différence essentielle :
1. Les valeurs nulles n'occupent pas d'espace
2. occuper de l'espace
En termes simples :
Une valeur nulle est comme une tasse de transition sous vide sans rien dedans, tandis qu'une valeur nulle est une tasse remplie d'air bien qu'elles se ressemblent toutes, ils ont une différence essentielle.
(Cours recommandé : Tutoriel MySQL)
Exemple :
Créer une table de test, colA ne peut pas stocker de valeurs nulles, colB peut stocker des valeurs nulles.
CREATE TABLE `test` ( `colA` varchar(255) NOT NULL, `colB` varchar(255) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Essayez d'insérer une valeur nulle. Que se passera-t-il ?
INSERT INTO `test`(`colA`, `colB`) VALUES (NULL, NULL);
//Une erreur se produit car colA ne peut pas insérer de valeurs nulles.
Alors, que se passe-t-il si des valeurs nulles sont insérées dans deux champs en même temps.
INSERT INTO `test`(`colA`, `colB`) VALUES ('', '');
L'insertion est réussie, indiquant que même lorsque le champ est défini sur une valeur nulle, des valeurs nulles peuvent être insérées
- ----- --------------------------------------------- ----- ------Requête-------------------------------------- ----------- ----------------
Il y a maintenant trois données dans le tableau
Ensuite, nous utilisons n'est pas nul et < ;> Récupérons les données dans la table de données
1 Requête en utilisant IS NOT NULL
1 SELECT * FROM `test` WHERE colA IS NOT NULL
1 SELECT * FROM `test` WHERE colB IS NOT NULL
Conclusion : L'utilisation de la requête IS NOT NULL ne filtrera pas les valeurs nulles, mais elle filtrera NUL.
2. Requête en utilisant a8093152e673feb7aba1828c43532094
1 SELECT * FROM `test` WHERE colA <> '';
Conclusion :
L'utilisation de a8093152e673feb7aba1828c43532094 filtrera les valeurs NULL et vides.
1 SELECT * FROM `test` WHERE colA <> '';
3. Utilisez le nombre pour interroger
Conclusion :
1 SELECT COUNT(colA) FROM `test`;L'utilisation de count filtrera les valeurs NULL, mais elle ne filtrera pas les valeurs NULL.
1 SELECT COUNT(colB) FROM `test`;Résumé1. Les valeurs nulles n'occupent pas d'espace et les valeurs NULL occupent de l'espace (un octet).
2. Lorsque le champ n'est pas NULL, vous pouvez également insérer une valeur nulle.
3. Lorsque vous utilisez IS NOT NULL ou IS NULL, vous pouvez uniquement vérifier qu'il n'y a pas de valeur non NULL ou NULL dans le champ, mais vous ne pouvez pas vérifier les valeurs nulles.4. Lorsque vous utilisez a8093152e673feb7aba1828c43532094 pour interroger, les valeurs vides et les valeurs NULL seront filtrées.
5. Lors de l'utilisation des statistiques de comptage, les valeurs NULL seront filtrées, mais les valeurs NULL ne seront pas filtrées.Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!