

Bei der Arbeit mit Datenbanksystemen können wir keine Werte für die meisten zukünftigen Datenpunkte vorhersagen. Zum Beispiel haben Tabellen, die für Kundeninformationen verwendet werden, häufig eine Handynummernspalte. Es ist möglich, dass ein Kunde keine Mobiltelefonnummer besitzt, oder dass er seine Mobiltelefonnummer aus Datenschutzgründen nicht teilen möchte. In solchen Fällen können wir NULL-Werte verwenden, um unsichere zukünftige Datenpunkte zu kennzeichnen.
Was ist NULL?
NULL ist ein Schlüsselwort, das angibt, dass kein Wert vorhanden ist.
Berücksichtigen von NULL-Werten beim Entwerfen von Tabellen
Wir müssen feststellen, welche Felder NULL-Werte zulassen. Beim Entwerfen von Tabellen müssen wir berücksichtigen, welche Felder vom Benutzer ausgefüllt oder ausgefüllt werden müssen und welche nicht. Auf dieser Grundlage können wir entscheiden, ob NULL-Werte zulässig sind.
CREATE TABLE Kunde (Customer_id INT PRIMARY KEY, Vorname VARCHAR (50) NOT NULL, Nachname VARCHAR (50) NOT NULL, MobileNo VARCHAR (15) NULL);
Wir haben eine Tabelle, Customer, entworfen, in der jedes Feld erforderlich ist (NOT NULL), mit Ausnahme des Felds MobileNo, das NULL-Werte zulässt.
Hinweis: Primärschlüsseleinschränkungen sind immer NICHT NULL, daher müssen sie nicht explizit angegeben werden.
NOT NULL zeigt an, dass ein Wert obligatorisch ist (zu liefern). NULL zeigt an, dass der Wert nicht obligatorisch ist.
Einfügen von NULL-Werten
Wir verwenden NULL für die Handynummer in Fall 2, da wir derzeit keine Handynummer für CustomerId = 2 haben. Stellen Sie sicher, dass Sie NULL nicht in einfache Anführungszeichen setzen, da dies als Zeichenfolge betrachtet wird, bei der NULL ein spezielles Schlüsselwort ist.
Fall 1: Wir haben eine gültige MobileNo.
In dbo.Customer (Customer_id, FirstName, LastName, MobileNo) Werte einfügen (1, 'Hen', 'Kaz', 9833844);
Fall 2: Wir haben keine MobileNo und setzen es daher als NULL ein.
In dbo.Customer (Customer_id, FirstName, LastName, MobileNo) Werte einfügen (2, 'Rec', 'John', NULL);
NULL-Werte abfragen
Das Abfragen von NULL-Werten in SQL unterscheidet sich von dem Abfragen regulärer Daten, da wir nicht nach dem literalen String 'NULL' suchen oder nach einem Wert suchen können, der gleich NULL ist.
Fall 1: Falsche Abfrage
SELECT * FROM KUNDEN WO MobileNo = NULL
Fall 2: Falsche Abfrage
WÄHLEN SIE * AUS DEM KUNDEN, WO MobileNo wie 'NULL'
Fall 3: Gültige Abfrage zum Suchen von MobileNos mit einem NULL-Wert
SELECT * FROM KUNDEN, WENN MobileNo NULL ist
Fall 4: Gültige Abfrage zum Suchen von MobileNos ohne NULL-Wert
SELECT * FROM KUNDEN, WENN MobileNo NICHT NULL IST
Aktualisieren von NULLS
Nun haben wir die Handynummer für Kundennummer = 2 erhalten, die zuvor NULL war.
Lassen Sie uns die Handynummer für Kundennummer = 2 aktualisieren, wobei die Handynummer jetzt NULL ist.
- Für Kundennummer 2, deren MobileNo jetzt NULL ist SELECT * FROM CUSTOMER WO NUMMER MobileNo ist und customer_id = 2 - Update MobileNo UPDATE CUSTOMER SET MobileNo = 91244 WHERE Customer_id = 2 - MobileNo erneut auf NULL setzen, um es in delete NULL einzuschließen UPDATE CUSTOMER SET MobileNo = NULL WHERE Customer_id = 2 SELECT * FROM CUSTOMER WO NULL ist MobileNo und Customer_id = 2
Löschen von NULL-Werten
Bei der Aktualisierung von NULL-Werten wird empfohlen, MobileNo für Kundennummer = 2 erneut auf NULL zu aktualisieren.
Verwenden Sie das folgende, um Zeilen mit NULL-Werten zu löschen:
Vom Kunden löschen, wo MobileNo NULL ist