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

Ausführliche Erklärung zu Slots und Filtern in Vue

Inhaltsverzeichnis Spielautomaten Was sind Slots?...

Allgemeine Probleme mit der Regelpriorität beim Nginx-Standort

Inhaltsverzeichnis 1. Standort / Matching 2. Stan...

Viewport-Parameter für mobile Browser (Web-Frontend-Design)

Mobile Browser platzieren Webseiten in einem virtu...

Methodenbeispiel zum sicheren Abrufen tiefer Objekte von Object in Js

Inhaltsverzeichnis Vorwort Text Parameter Beispie...

Navicat Premium betreibt MySQL-Datenbank (führt SQL-Anweisungen aus)

1. Einführung in Navicat 1. Was ist Navicat? Navi...

So erstellen Sie eine MySQL-Master-Slave-Datenbank mit Docker unter MacOS

1. Ziehen Sie das MySQL-Image Holen Sie sich das ...

Anwendung schöner Stylesheets bei der Erstellung von XHTML+CSS-Webseiten

Dies ist ein Artikel, der vor langer Zeit geschrie...

Implementierung eines geplanten MySQL-Sicherungsskripts unter Windows

Wenn Sie auf einem Windows-Server regelmäßig Date...

Detaillierte Analyse des MySQL Master-Slave-Verzögerungsphänomens und -prinzips

1. Phänomen Am frühen Morgen wurde einer Online-T...

Mit CSS3 implementierte Text-Popup-Effekte

Ergebnisse erzielenImplementierungscode html <...

So installieren Sie Redis5.0.3 im Docker

1. Ziehen Sie das offizielle 5.0.3-Image [root@lo...

Sehr detaillierte JavaScript-Implementierung eines Webseiten-Karussells

Inhaltsverzeichnis Erstellen von HTML-Seiten Impl...