Heim >Datenbank >MySQL-Tutorial >Wie wähle ich Zeilen mit NULL-Werten in MySQL richtig aus?

Wie wähle ich Zeilen mit NULL-Werten in MySQL richtig aus?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-01 11:04:14358Durchsuche

How Do I Correctly Select Rows with NULL Values in MySQL?

Nullwerte in MySQL verstehen

In MySQL stellen Nullwerte fehlende oder unbekannte Daten dar. Im Gegensatz zu anderen Werten kann null nicht direkt verglichen oder sich selbst zugewiesen werden. Dieses Verhalten kann zu unerwarteten Ergebnissen führen, wenn Zeilen mit Nullspalten abgefragt werden.

Problem: Auswahl von Zeilen mit Nullspalten

Beim Versuch, Zeilen mit Nullwerten für a auszuwählen In einer bestimmten Spalte sieht ein allgemeines Abfrageformular wie folgt aus:

SELECT pid FROM planets WHERE userid = NULL;

Diese Abfrage kann jedoch einen leeren Satz zurückgeben, selbst wenn die Tabelle enthält Zeilen mit Null in dieser Spalte.

Lösung: Verwenden des IS NULL-Vergleichs

Um Nullwerte korrekt abzufragen, verwenden Sie den IS NULL-Operator anstelle des =-Operators. Die korrekte Abfrage sollte wie folgt lauten:

SELECT pid FROM planets WHERE userid IS NULL;

Dieser Operator prüft explizit, ob die Spalte null ist, um die Komplikationen einer Nullgleichheit zu vermeiden.

Zusätzliche Überlegungen

  • Groß- und Kleinschreibung: Bei SQL wird die Groß-/Kleinschreibung nicht beachtet, sodass sowohl NULL als auch Null dargestellt werden Nullwerte.
  • Indexoptimierung: Nullvergleiche können nicht von Indizes profitieren, was möglicherweise Abfragen für große Tabellen verlangsamt.
  • Alternative Speicher-Engine: InnoDB ist eine bessere Wahl für Tabellen mit häufigen Nullwerten, da diese effizienter gespeichert werden als MyISAM.

Fazit

Durch die Verwendung des IS NULL-Operators und die Berücksichtigung alternativer Speicher-Engines wie InnoDB können Sie Zeilen mit Nullwerten in MySQL genau abfragen. Bedenken Sie jedoch, dass null ein Sonderwert mit eindeutigen Eigenschaften bleibt, der sich auf Abfrageergebnisse auswirken kann.

Das obige ist der detaillierte Inhalt vonWie wähle ich Zeilen mit NULL-Werten in MySQL richtig aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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