Arbeiten mit NULL-Werten in SQL Server

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