Heim > Datenbank > MySQL-Tutorial > Was ist der Unterschied zwischen dem Nullwert von MySQL und NULL? (mit Beispielen)

Was ist der Unterschied zwischen dem Nullwert von MySQL und NULL? (mit Beispielen)

不言
Freigeben: 2019-02-14 13:12:29
nach vorne
5018 Leute haben es durchsucht


In diesem Artikel erfahren Sie, was der Unterschied zwischen dem Nullwert von MySQL und NULL ist. (Mit Beispielen) hat es einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen.

Der wesentliche Unterschied:

1. Nullwerte belegen keinen Platz

2 Platz beanspruchen

Laienhaft ausgedrückt:

Ein Nullwert ist wie ein Vakuum-Übergangsbecher, in dem sich nichts befindet, während ein Nullwert ein mit Luft gefüllter Becher ist. Obwohl sie alle gleich aussehen. Sie haben einen wesentlichen Unterschied.

(Empfohlener Kurs: MySQL-Tutorial)

Beispiel:

Erstellen Sie eine Testtabelle, colA kann keine Nullwerte speichern, colB kann Nullwerte speichern.

CREATE TABLE `test` (
   `colA` varchar(255) NOT NULL,
   `colB` varchar(255) DEFAULT NULL
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Nach dem Login kopieren

Versuchen Sie, einen Nullwert einzufügen. Was wird passieren?

INSERT INTO `test`(`colA`, `colB`) VALUES (NULL, NULL);
Nach dem Login kopieren

//Es ist ein Fehler aufgetreten, weil colA keine Nullwerte einfügen kann.

Was passiert also, wenn in zwei Felder gleichzeitig Nullwerte eingefügt werden?

INSERT INTO `test`(`colA`, `colB`) VALUES ('', '');
Nach dem Login kopieren

Einfügung erfolgreich, was darauf hinweist, dass auch dann Nullwerte eingefügt werden können, wenn das Feld auf einen Nullwert gesetzt ist

---- ----- --------------------------------------------- ----- ----Abfrage---------------------------------------- -------- ------------

Jetzt gibt es drei Daten in der Tabelle

Als nächstes verwenden wir „is not null“ und <> ; Daten in der Datentabelle abrufen

1

1 SELECT * FROM `test` WHERE colA IS NOT NULL
Nach dem Login kopieren

Schlussfolgerung:

Durch die Verwendung der IS NOT NULL-Abfrage werden keine Nullwerte herausgefiltert, sondern NULL.

2. Abfrage mit

1 SELECT * FROM `test` WHERE colB IS NOT NULL
Nach dem Login kopieren

rreee

Fazit:

Mit <> werden NULL- und leere Werte herausgefiltert.

3. Verwenden Sie count, um

1 SELECT * FROM `test` WHERE colA <> &#39;&#39;;
Nach dem Login kopieren
Nach dem Login kopieren

1 SELECT * FROM `test` WHERE colA <> &#39;&#39;;
Nach dem Login kopieren
Nach dem Login kopieren

abzufragen Fazit:

Durch die Verwendung von count werden NULL-Werte herausgefiltert, aber keine Nullwerte.

Zusammenfassung

1. Nullwerte belegen keinen Platz und NULL-Werte belegen Platz (ein Byte).

2. Wenn das Feld nicht NULL ist, können Sie auch einen Nullwert einfügen.

3. Wenn Sie IS NOT NULL oder IS NULL verwenden, können Sie nur überprüfen, ob das Feld keinen Nicht-NULL- oder NULL-Wert enthält, aber Sie können nicht nach Nullwerten suchen.

4. Bei Verwendung von <> werden leere Werte und NULL-Werte herausgefiltert.

5. Bei der Verwendung von Zählstatistiken werden NULL-Werte herausgefiltert, NULL-Werte jedoch nicht.

Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen dem Nullwert von MySQL und NULL? (mit Beispielen). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:cnblogs.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage