Maison  >  Article  >  base de données  >  Quelle est la signification de MySQL null

Quelle est la signification de MySQL null

coldplay.xixi
coldplay.xixioriginal
2020-10-19 14:04:246449parcourir

La signification de mysql null : 1. Dans un champ ordinaire, une valeur nulle signifie une valeur nulle ; 2. Si une valeur nulle est insérée dans un champ de type TimesTamp, la valeur nulle n'est pas nécessairement nulle.

Quelle est la signification de MySQL null

La signification de mysql null :

Les valeurs nulles n'occupent pas d'espace dans MySQL. dans l'espace.

Cependant, lors de l'exécution d'instructions SQL dans une base de données MySQL, vous devez faire attention à deux pièges :

1 Une valeur nulle n'est pas nécessairement nulle

Une valeur nulle. est un domaine particulier. Dans la base de données MySQL, les valeurs nulles représentent souvent des significations différentes selon les situations. Il s'agit d'une fonctionnalité de la base de données MySQL. Par exemple, dans les champs ordinaires (données de caractères), une valeur nulle représente une valeur nulle. Mais si vous insérez une valeur nulle dans un champ de type TimesTamp, la valeur nulle n'est pas nécessairement nulle. Que se passe-t-il à ce moment-là

J'ai d'abord créé un tableau. Il y a deux champs dans cette table : User_id (son type de données est int), Date (son type de données est TimesTamp). Insérez maintenant un enregistrement dans cette table, dans lequel une valeur NULL est insérée dans le champ Date. Mais lorsque nous interrogeons, le résultat affiche l’heure actuelle à laquelle l’enregistrement a été inséré. Que se passe-t-il ? En fait, c'est un piège souvent rencontré lors de l'exécution d'instructions SQL dans une base de données MySQL : une valeur nulle n'est pas forcément nulle. Lors de l'opération, il est clair qu'une valeur nulle est insérée, mais le résultat final de la requête n'est pas une valeur nulle.

Dans la base de données MySQL, NULL représente une signification particulière pour certains types spéciaux de colonnes, pas seulement une valeur nulle. Pour ces types spéciaux de colonnes, les lecteurs doivent se rappeler de deux choses principales. L’un est le type de données TimesTamp mentionné ci-dessus. Si vous insérez une valeur Null dans une colonne de ce type de données, elle représente l'heure actuelle du système. L'autre est une colonne avec l'attribut auto_increment. Si vous insérez une valeur Null dans la colonne de cet attribut, le système insérera une séquence d'entiers positifs. Et si des données nulles sont insérées dans une colonne d'autres types de données, telles que des données de caractères, une valeur nulle sera insérée.

2. La valeur nulle n'est pas nécessairement égale au caractère nul

Dans MySQL, la valeur nulle (Null) est-elle la même que le caractère nul ('') ? .

Dans la même table de base de données, insérez simultanément des données de valeur nulle et des données de caractère nul '', puis utilisez l'instruction Select pour interroger. Évidemment, les résultats affichés sont différents. Il ressort de ce résultat que la valeur nulle n’est pas égale au caractère nul. C'est le deuxième piège rencontré lors de l'exécution d'instructions SQL dans MySQL. Dans le travail réel, les données nulles et les caractères nuls ont souvent des significations différentes. Les administrateurs de bases de données peuvent faire des choix en fonction des besoins réels. Par exemple, des champs tels que les numéros de téléphone peuvent être définis par défaut sur une valeur nulle (indiquant que le numéro de téléphone de l'autre partie n'est pas du tout connu) ou définis sur un caractère vide (indiquant que le numéro a été annulé ultérieurement), etc.

Comme ils auront des représentations différentes dans la base de données, les administrateurs de bases de données doivent les traiter différemment. L'auteur préfère utiliser des valeurs nulles plutôt que des caractères nuls. Cela est principalement dû au fait qu'il existe plusieurs caractères d'opération spéciaux pour le type de données de valeur nulle. Si un champ contient un caractère nul, la base de données utilise à la place le nom du champ. Au contraire, si une valeur nulle est insérée, NULL est affiché directement. Ceci est également différent de la façon dont les autres bases de données sont affichées.

L'un est les mots-clés IS NULL et IS NOT NULL. Si vous souhaitez déterminer si un champ contient des données avec des valeurs nulles, vous devez utiliser des mots-clés spéciaux. Le premier signifie que ce champ est vide, et le second signifie que ce champ n'est pas vide. Ces deux mots-clés sont très utiles dans les conditions de requête de l'instruction Select. Si vous devez interroger tous les utilisateurs dont les numéros de téléphone sont vides (et qu’ils doivent compléter leurs informations de numéro de téléphone), vous pouvez ajouter le mot-clé is not null aux conditions de requête.

La seconde concerne les fonctions statistiques telles que Count, qui ont également des applications spéciales pour les valeurs nulles. Si vous devez maintenant compter le nombre d'utilisateurs avec des numéros de téléphone dans le tableau d'informations sur l'utilisateur, vous pouvez utiliser la fonction de comptage et utiliser le numéro de téléphone comme paramètre. Car pendant le processus statistique, cette fonction ignorera automatiquement les données de valeur nulle. Ce qui est compté à ce moment-là, ce sont les informations utilisateur avec les numéros de téléphone. Si des données avec des caractères nuls sont utilisées, cette fonction les comptera. En comptant les deux enregistrements qui viennent d'être créés, le résultat des statistiques du système est 1 et non 2. On peut voir que le système ignore automatiquement les données de valeur nulle.

Recommandations d'apprentissage gratuites associées : base de données mysql(vidéo)

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!

Déclaration:
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