Heim  >  Artikel  >  Datenbank  >  Was bedeutet MySQL null?

Was bedeutet MySQL null?

coldplay.xixi
coldplay.xixiOriginal
2020-10-19 14:04:246449Durchsuche

Die Bedeutung von MySQL Null: 1. In einem gewöhnlichen Feld bedeutet ein Nullwert einen Nullwert. 2. Wenn ein Nullwert in ein Feld vom Typ TimesTamp eingefügt wird, ist der Nullwert nicht unbedingt null.

Was bedeutet MySQL null?

Die Bedeutung von MySQL Null:

Der Nullwert nimmt keinen Platz ein, aber NULL in MySQL nimmt tatsächlich Platz ein.

Beim Ausführen von SQL-Anweisungen in einer MySQL-Datenbank müssen Sie jedoch auf zwei Fallstricke achten:

1 Ein Nullwert ist nicht unbedingt null

Ein Nullwert ist ein spezielles Feld. In der MySQL-Datenbank stellen Nullwerte in verschiedenen Situationen häufig unterschiedliche Bedeutungen dar. Dies ist eine Funktion der MySQL-Datenbank. In gewöhnlichen Feldern (Zeichendaten) stellt beispielsweise ein Nullwert einen Nullwert dar. Wenn Sie jedoch einen Nullwert in ein Feld vom Typ TimesTamp einfügen, ist der Nullwert nicht unbedingt null. Was passiert zu diesem Zeitpunkt? Ich habe zuerst eine Tabelle erstellt. In dieser Tabelle gibt es zwei Felder: User_id (der Datentyp ist int), Date (der Datentyp ist TimesTamp). Fügen Sie nun einen Datensatz in diese Tabelle ein, in dem ein NULL-Wert in das Feld Datum eingefügt wird. Wenn wir jedoch eine Abfrage durchführen, zeigt das Ergebnis die aktuelle Zeit an, zu der der Datensatz eingefügt wurde. Was ist los? Tatsächlich ist dies eine Falle, die häufig beim Ausführen von SQL-Anweisungen in einer MySQL-Datenbank auftritt: Ein Nullwert ist nicht unbedingt null. Während des Vorgangs ist klar, dass ein Nullwert eingefügt wird, das endgültige Abfrageergebnis ist jedoch kein Nullwert.

In der MySQL-Datenbank stellt NULL für einige spezielle Spaltentypen eine besondere Bedeutung dar, nicht nur einen Nullwert. Bei diesen speziellen Kolumnentypen gibt es vor allem zwei Dinge, die die Leser beachten sollten. Einer davon ist der oben erwähnte TimesTamp-Datentyp. Wenn Sie in eine Spalte dieses Datentyps einen Nullwert einfügen, stellt dieser die aktuelle Zeit des Systems dar. Die andere ist eine Spalte mit dem auto_increment-Attribut. Wenn Sie einen Nullwert in die Spalte dieses Attributs einfügen, fügt das System eine Folge positiver Ganzzahlen ein. Wenn Nulldaten in eine Spalte mit anderen Datentypen eingefügt werden, beispielsweise Zeichendaten, wird ein Nullwert eingefügt.

2. Der Nullwert ist nicht unbedingt gleich dem Nullzeichen

Ist in MySQL der Nullwert (Null) dasselbe wie das Nullzeichen ('')?

Fügen Sie Nullwertdaten und „Nullzeichendaten“ gleichzeitig in dieselbe Datenbanktabelle ein und verwenden Sie dann die Select-Anweisung zur Abfrage. Offensichtlich sind die angezeigten Ergebnisse unterschiedlich. Aus diesem Ergebnis ist ersichtlich, dass der Nullwert nicht dem Nullzeichen entspricht. Dies ist die zweite Falle, die beim Ausführen von SQL-Anweisungen in MySQL auftritt. In der Praxis haben Nulldaten und Nullzeichen oft unterschiedliche Bedeutungen. Datenbankadministratoren können Entscheidungen basierend auf den tatsächlichen Anforderungen treffen. Beispielsweise können Felder wie Telefonnummern standardmäßig auf einen Nullwert gesetzt werden (was anzeigt, dass die Telefonnummer des anderen Teilnehmers überhaupt nicht bekannt ist) oder auf ein leeres Zeichen gesetzt werden (was anzeigt, dass die Nummer später gelöscht wurde) usw.

Da sie in der Datenbank unterschiedliche Darstellungen haben, müssen Datenbankadministratoren sie unterschiedlich behandeln. Der Autor verwendet lieber Nullwerte als Nullzeichen. Dies liegt hauptsächlich daran, dass es für den Datentyp Nullwert mehrere Sonderoperationszeichen gibt. Wenn ein Feld ein Nullzeichen enthält, verwendet die Datenbank stattdessen den Feldnamen. Wenn dagegen ein Nullwert eingefügt wird, wird NULL direkt angezeigt. Dies unterscheidet sich auch von der Darstellung anderer Datenbanken.

Eines davon sind die Schlüsselwörter IS NULL und IS NOT NULL. Wenn Sie feststellen möchten, ob ein Feld Daten mit Nullwerten enthält, müssen Sie spezielle Schlüsselwörter verwenden. Ersteres bedeutet, dass dieses Feld leer ist, und letzteres bedeutet, dass dieses Feld nicht leer ist. Diese beiden Schlüsselwörter sind in den Abfragebedingungen der Select-Anweisung sehr nützlich. Wenn Sie alle Benutzer abfragen müssen, deren Telefonnummern leer sind (und diese ihre Telefonnummerninformationen ergänzen müssen), können Sie den Abfragebedingungen das Schlüsselwort is not null hinzufügen.

Das zweite sind statistische Funktionen wie Count, die auch spezielle Anwendungen für Nullwerte haben. Wenn Sie nun die Anzahl der Benutzer mit Telefonnummern in der Benutzerinformationstabelle zählen müssen, können Sie die Zählfunktion verwenden und die Telefonnummer als Parameter verwenden. Denn während des statistischen Prozesses ignoriert diese Funktion automatisch Nullwertdaten. Zu diesem Zeitpunkt werden die Benutzerinformationen mit Telefonnummern gezählt. Wenn Daten mit Nullzeichen verwendet werden, zählt diese Funktion diese. Beim Zählen der beiden gerade erstellten Datensätze ist das Ergebnis der Systemstatistik 1 und nicht 2. Es ist ersichtlich, dass das System Nullwertdaten automatisch ignoriert.

Verwandte kostenlose Lernempfehlungen:

MySQL-Datenbank(Video)

Das obige ist der detaillierte Inhalt vonWas bedeutet MySQL null?. 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