Maison > base de données > tutoriel mysql > le corps du texte

La différence entre null et (null) dans MySQL

下次还敢
Libérer: 2024-05-01 20:03:14
original
1045 Les gens l'ont consulté

Dans MySQL, NULL représente une valeur nulle et ne prend aucun espace, tandis que (NULL) est une valeur de chaîne vide et occupe 1 octet d'espace. Leurs différences incluent : différentes méthodes de stockage, différentes méthodes de comparaison, différentes méthodes d'insertion, différentes méthodes de traitement des fonctions d'agrégation et différentes utilisations de l'index.

La différence entre null et (null) dans MySQL

La différence entre NULL et (NULL) dans MySQL

Dans MySQL, NULL et (NULL) sont tous deux des valeurs spéciales, représentant des valeurs nulles ou inconnues. Les principales différences entre eux sont les suivantes :

1. Méthode de stockage

  • NULL : est une vraie valeur nulle et n'occupe aucun espace dans la base de données.
  • (NULL) : est une valeur de chaîne, représentant une chaîne vide, occupant un octet d'espace dans la base de données.

2. Comparaison

  • NULL : NULL ne peut être comparé à aucune valeur, y compris elle-même. La comparaison avec NULL renvoie toujours NULL.
  • (NULL): (NULL) peut être comparé à une valeur de chaîne, mais le résultat de la comparaison est NULL.

3. Insérer

  • NULL : Vous pouvez insérer des valeurs NULL explicitement ou utiliser DEFAULT NULL pour définir la colonne pour autoriser les valeurs NULL.
  • (NULL): Seules les valeurs de chaîne (NULL) peuvent être insérées explicitement.

4. Fonctions d'agrégation

  • NULL : Les valeurs NULL sont ignorées par la plupart des fonctions d'agrégation (telles que SUM, AVG, COUNT).
  • (NULL): (NULL) les chaînes sont traitées comme des chaînes vides.

5. Index

  • NULL : Les valeurs NULL ne peuvent pas être utilisées dans les index.
  • (NULL): (NULL) les chaînes peuvent être indexées, mais comme elles se comparent toujours à NULL, l'indexation est moins efficace.

Exemple :

<code class="sql">SELECT * FROM table_name WHERE column_name IS NULL;</code>
Copier après la connexion

Cela renverra toutes les lignes où column_name est NULL.

<code class="sql">SELECT * FROM table_name WHERE column_name = (NULL);</code>
Copier après la connexion

Cela renverra un ensemble de résultats sans lignes car NULL ne peut être comparé à aucune valeur.

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal