MySQL-Reihe von Erfahrungszusammenfassungen und Analyse-Tutorials zu NULL-Werten

MySQL-Reihe von Erfahrungszusammenfassungen und Analyse-Tutorials zu NULL-Werten

1. Testdaten

Tabelle test_null erstellen (
    Ich würde int,
    Name varchar(20),
    chinesische int,
    mathematik int,
    Englisch int
) Zeichensatz=utf8;

in test_null einfügen 
Werte
(1,null,80,70,68),
(2,'null',60,null,null),
(3,'Li Si',null,90,80),
(4,'Wang Wu',90,60,75),
(5,null,null,50,95);

Die Ergebnisse sind wie folgt:

Bildbeschreibung hier einfügen

2. Die Unannehmlichkeiten, die durch Nullwerte verursacht werden

1) Die Filterung ist anders, Sie können nur „ist null“ oder „ist unnull“ verwenden;

# Nullwerte können nicht mit == oder != verglichen werden. # Beide der folgenden sind falsch: select *
von test_null
wobei Name == null;

wählen *
von test_null
wobei Name != null;

# Nullwerte werden im Allgemeinen mit is null oder is not null verglichen. # Die folgenden beiden Verwendungen sind die richtigen Entscheidungen *
von test_null
wobei Name null ist;

wählen *
von test_null
wobei Name nicht null ist;

2) Das Vorhandensein eines Nullwerts führt dazu, dass + - * /-Operationen fehlschlagen;

wählen 	
	*, (Chinesisch + Mathematik + Englisch) als Gesamtpunktzahl von Test_null;

Die Ergebnisse sind wie folgt:

Bildbeschreibung hier einfügen

3) Nullwerte haben keine Auswirkung auf Aggregatfunktionen und Aggregatfunktionen ignorieren Nullwerte direkt.

wählen 
    sum(chinesisch) Gesamtpunktzahl in Chinesisch,
    sum(math) Gesamtpunktzahl in Mathematik,
    sum(english) Gesamtnote in Fremdsprachen aus test_null

Die Ergebnisse sind wie folgt:

Bildbeschreibung hier einfügen

3. Wie sollen wir Leerzeichen, leere Werte und Null beurteilen?

1) Der Unterschied zwischen Leerzeichen, leeren Werten und Null

Verwenden Sie eine anschauliche Metapher, um den Unterschied zwischen diesen dreien zu veranschaulichen. Zunächst einmal sind Leerzeichen leicht zu verstehen. Eine leere Zeichenfolge nimmt eine bestimmte Menge an Platz ein. Schwer zu verstehen sind eigentlich der leere Wert und Null. Der leere Wert entspricht einer Tasse im Vakuumzustand, in der sich nichts befindet, während Null bedeutet, dass sich Luft in der Tasse befindet.

In MySQL ist null unbekannt und nimmt Platz ein. NULL macht Indizes, Indexstatistiken und Werte komplexer und beeinflusst die Entscheidungen des Optimierers. Leere Werte ('') beanspruchen keinen Platz. Beachten Sie, dass zwischen den '' von leeren Werten kein Leerzeichen steht. Wenn beim Zählen der Anzahl der Datensätze in einer Spalte mit count() ein null vorhanden ist, wird dieser automatisch vom System ignoriert, der leere Wert wird jedoch gezählt. Um zu beurteilen, ob null verwendet wird, is null und is not null . Um jedoch zu beurteilen, ob ein leeres Zeichen verwendet wird = ,!=, <> verwendet. Wenn Sie beim timestamp Datentyp null值einfügen, wird als Wert die aktuelle Systemzeit angezeigt. Wenn Sie einen Nullwert eingeben, wird 0000-00-00 00:00:00 angezeigt. Bei bereits erstellten Tabellen bringt das Ändern von null in not null in gemeinsamen Spalten nur eine kleine Leistungsverbesserung, sodass Sie beim Optimieren nicht darauf achten müssen.

2) Was soll ich tun, wenn ein Nullwert angezeigt wird?

Durch die obige Analyse wissen wir bereits, dass Additions-, Subtraktions-, Multiplikations- und Divisionsoperationen fehlschlagen, wenn die Tabelle Nullwerte enthält. Wie gehen wir also mit diesen Nullwerten um?

Die erste Methode: Verwenden Sie direkt „is not null“, um diese Nullwerte herauszufiltern. Dadurch werden jedoch andere Felder mit nicht fehlenden Werten herausgefiltert, was zu Datenverschwendung führt.

Die zweite Methode: Dies ist auch die von uns empfohlene Methode. Wir verwenden Funktionen, um fehlende Werte auszufüllen.

Verwendung der Funktionen ifnull() und coalesce():

wählen 
    	Ausweis,
    	mergece(Name,'Anonymous') Name,
    	mergece(chinesisch,0) chinesisch,
    	ifnull(math,0) mathe,
    	ifnull(englisch,0) englisch
von test_null;

Die Ergebnisse sind wie folgt:

Bildbeschreibung hier einfügen

Oben finden Sie den detaillierten Inhalt der Erfahrungszusammenfassung und -analyse der MySQL-Reihe zu Nullwerten. Weitere Informationen zu Nullwerten in MySQL finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM!

Das könnte Sie auch interessieren:
  • MySQL-Prozesssteuerung: IF()-, IFNULL()-, NULLIF()-, ISNULL()-Funktionen
  • In diesem Artikel erfahren Sie mehr über NULL in MySQL
  • mysql IS NULL mit Indexfallerklärung
  • MySql-Freigabe der Nullfunktionsnutzung
  • Speichern von NULL-Werten auf der Festplatte in MySQL

<<:  HTML-Grammatik-Enzyklopädie_HTML-Sprachgrammatik-Enzyklopädie (unbedingt lesen)

>>:  Vue3 basierend auf der Skript-Setup-Syntax $refs-Verwendung

Artikel empfehlen

So implementieren Sie die Kontrollkästchen- und Radioausrichtung

Nicht nur das Verhalten verschiedener Browser ist...

Das WeChat-Applet realisiert die Chatroom-Funktion

In diesem Artikel wird der spezifische Code des W...

SQL zur Implementierung der Wiederherstellung einer Zeitreihenversetzung

Inhaltsverzeichnis 1. Anforderungsbeschreibung 2....

...

Methode zum Knacken der Registrierung der FlashFXP-FTP-Clientsoftware

Die Downloadadresse von FlashFXP lautet: https://...

Was Sie über Responsive Design wissen müssen

Responsive Design bedeutet, während des Website-E...

Einführung in semantische HTML-Tags

In den letzten Jahren war DIV+CSS bei der Website-...

onfocus="this.blur()" wird von blinden Webmastern gehasst

Als er über die Seite zur Bedienung der Bildschir...

Toolkit: Ein leistungsfähigeres Front-End-Framework als Bootstrap

Hinweis: Die derzeit beliebtesten Front-End-Frame...

Detailliertes Tutorial zur Installation von Docker auf CentOS 8

1. Frühere Versionen yum entfernen Docker Docker-...