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

Detaillierte Erklärung der JS-Array-Methoden

Inhaltsverzeichnis 1. Das ursprüngliche Array wir...

CentOS 8.0.1905 installiert ZABBIX Version 4.4 (verifiziert)

Zabbix Server-Umgebungsplattform Version: ZABBIX ...

So verwenden Sie den Linux-Paste-Befehl

01. Befehlsübersicht Der Einfügebefehl fügt die e...

Beispielcode zur Implementierung der Google-Anmeldung über Drittanbieter in Vue

Inhaltsverzeichnis 1. Konfiguration der Entwickle...

TinyEditor ist ein einfacher und benutzerfreundlicher HTML-WYSIWYG-Editor

Vor einigen Tagen habe ich Ihnen einen inländisch...

Ausführliche Erklärung der Modi und Umgebungsvariablen in Vue CLI

Vorwort Bei der Entwicklung tatsächlicher Projekt...

CSS-Code zur Steuerung der Hintergrundfarbe der Webseite

Ich glaube, jeder macht sich oft Sorgen, ob er Bi...

Implementierung der Docker-Bereitstellung eines MySQL-Clusters

Nachteile einer Single-Node-Datenbank Große Inter...

Detaillierte Analyse und Verwendung des Befehls tcpdump unter Linux

Einführung Einfach ausgedrückt ist tcpdump ein Pa...

MySql 5.7.20 Installation und Konfiguration von Daten- und my.ini-Dateien

1. Erster Download von der offiziellen Website vo...

Detaillierte Erklärung zum MySQL-Datenarchivierungstool mysql_archiver

Inhaltsverzeichnis I. Überblick 2. pt-archiver Ha...