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

Quel est le meilleur moyen d'insérer une chaîne NULL ou vide dans MySQL ?

PHPz
Libérer: 2023-08-25 23:17:13
avant
1525 Les gens l'ont consulté

Quel est le meilleur moyen dinsérer une chaîne NULL ou vide dans MySQL ?

Dans innoDB, NULL prend moins de place qu'une chaîne vide. De plus, la longueur NULL est null et la longueur d'une chaîne vide est 0.

Pour comprendre cela, créez un tableau à l'aide de la commande create comme indiqué ci-dessous Comme suit -

mysql> CREATE table DemoEmptyAndNULL
-> (
-> Message varchar(100)
-> );
Query OK, 0 rows affected (0.49 sec)
Copier après la connexion

Une fois la table créée avec succès, insérez un enregistrement vide dans la table via la commande suivante commande d'insertion qui est la suivante -

mysql> INSERT into DemoEmptyAndNULL values(' ');
Query OK, 1 row affected (0.17 sec)
Copier après la connexion

Après avoir inséré les enregistrements, nous pouvons utiliser la commande select pour afficher tous les enregistrements qui est la suivante -

mysql> SELECT * from DemoEmptyAndNULL;
Copier après la connexion

Après l'exécution de la requête ci-dessus, le résultat suivant est obtenu -

+---------+
| Message |
+---------+
|         |
+---------+
1 row in set (0.00 sec)
Copier après la connexion

La syntaxe pour vérifier la longueur d'une chaîne vide à l'aide de la fonction intégrée count est la suivante Follow-

select count(column_name) from yourTableName;
Copier après la connexion

La syntaxe ci-dessus est utilisée pour obtenir la longueur d'une chaîne vide qui est donnée telle quelle comme suit-

mysql> select count(message) from DemoEmptyAndNULL;
Copier après la connexion

Après avoir exécuté la requête ci-dessus, le résultat est le suivant-

+----------------+
| count(message) |
+----------------+
| 1              |
+----------------+
1 row in set (0.06 sec)
Copier après la connexion

De la sortie ci-dessus, il s'agit clair que le caractère vide La longueur de la chaîne est 1.

Maintenant, nous allons vérifier la longueur de NULL. Premièrement, les enregistrements insérés dans la table sont supprimé à l'aide de la commande delete comme ci-dessous-

mysql> delete from DemoEmptyAndNULL where message=' ';
Query OK, 1 row affected (0.19 sec)
Copier après la connexion

La requête suivante est utilisée pour vérifier s'il n'y a aucun enregistrement dans la table actuelle

mysql> SELECT * from DemoEmptyAndNULL;
Empty set (0.00 sec)
Copier après la connexion

Maintenant, l'enregistrement avec une valeur nulle est inséré dans la table comme ci-dessous-

mysql> INSERT into DemoEmptyAndNULL values();
Query OK, 1 row affected (0.18 sec)
Copier après la connexion

L'enregistrement est affiché à l'aide de la commande select et le résultat obtenu est le suivant :

+---------+
| Message |
+---------+
| NULL    |
+---------+
1 row in set (0.00 sec)
Copier après la connexion

Maintenant, il n'y a qu'un seul enregistrement avec une valeur nulle dans la table. Pour connaître sa longueur, exécutez la requête suivante : Utilisation de -

mysql> select count(message) from DemoEmptyAndNULL;
Copier après la connexion

Ce qui suit est le résultat de la requête ci-dessus -

+----------------+
| count(message) |
+----------------+
| 0              |
+----------------+
1 row in set (0.00 sec)
Copier après la connexion

La sortie ci-dessus signifie que le nombre est 0 (valeur nulle).

Vérifions la version de MySQL.

mysql> select version();
+-----------+
| version() |
+-----------+
| 8.0.12    |
+-----------+
1 row in set (0.06 sec)
Copier après la connexion

Il est donc préférable que les bases de données utilisent des chaînes vides, car autoriser les valeurs NULL oblige le système à le faire Travail supplémentaire et ne fournit pas les données que vous recherchez. Cependant, NULL ne renvoie pas Toute exception se produit lors de l’exécution de la fonction count().

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!

source:tutorialspoint.com
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!