PostgreSQL: Verwendung der Klauseln NULL und Not NULL

Unbekannte Werte der Datenbanktabelle werden von SQL unterschiedlich behandelt. Wenn ein oder mehrere Felder einer Tabelle leer gesetzt werden müssen, wird das Schlüsselwort NULL zum Zeitpunkt der Tabellenerstellung verwendet, und der Nullwert kann zum Auswählen oder Einfügen oder Aktualisieren von Daten der Tabelle verwendet werden. Nullwert bedeutet nicht Null oder leeren Wert. Es wird hauptsächlich für das Feld verwendet, in dem der Wert fehlt oder unbekannt ist oder kein Wert anwendbar ist. Wenn jedoch ein Feld einer Tabelle obligatorisch festgelegt werden muss, müssen Sie zum Zeitpunkt der Tabellenerstellung das Schlüsselwort NOT NULL verwenden. Wie Sie NULL- und NOT NULL-Klauseln in PostgreSQL verwenden können, um select-, insert-, update- und delete-SQL-Anweisungen auszuführen, wird in diesem Lernprogramm gezeigt.

Tabelle mit NULL und NICHT NULL erstellen

TABELLE ERSTELLEN company
(company_id int NOT NULL PRIMÄRSCHLÜSSEL,
name varchar(40) NOT NULL,
Adresse varchar (150),
Telefon char(20),
Land varchar(50),
website_url varchar (50) NULL );

TABELLE ERSTELLEN items
( item_id),
name varchar(40) DEFAULT(‚Not Assign‘),
quantity INT NULL,
company_id INT,
PRIMARY KEY (item_id),
FOREIGN KEY (company_id) REFERENZEN company(company_id) );

Fügen Sie einige Daten in Tabellen ein:

In Firmentabelle einfügen:

INSERT INTO company (company_id, name, Adresse, Telefon, Land, website_url)
WERTE (1, ‚Samsung‘, ‚123….‘,’+337277888′, ‚Korea‘, ‚www.samsung.com ‚);
INSERT INTO company (company_id, name, Adresse, Telefon, Land, website_url)
WERTE (2, ‚0‘, ’67/A ….‘, ‚+42343567‘, ‚Chaina‘, ‚www.symphony.com ‚);
INSERT INTO company (company_id, name, Adresse, Telefon, Land)
VALUES (3, ‚LG‘, ’45/B ….‘, „, ‚Japan‘);

In Items-Tabelle einfügen:

IN Artikel EINFÜGEN (Name, Menge, Firmen-ID)
WERTE ( ‚LG 122‘, 4000,3);
IN Artikel EINFÜGEN (Name, Menge, Firmen-ID)
WERTE ( ‚Samsung 460‘, 7000, 1);
IN Artikel EINFÜGEN (Name, Menge, Firmen-ID)
WERTE ( ‚) E80‘, 2200,2 );

Beispiel 1: Verwenden von NULL und NOT NULL in SELECT Query

a) NULL

Die folgende Abfrage ruft alle Namens- und Adressdaten aus der Firmentabelle ab, in der der Wert website_url null ist. Es gibt nur einen Datensatz, in dem der Wert website_url NULL ist.

WÄHLEN SIE Name, Adresse
AUS Firma
WOBEI website_url NULL ist;

b) NOT NULL

Die Ausgabe von NOT NULL ist das Gegenteil von NULL. Die folgende select-Abfrage gibt alle Datensätze aus der company-Tabelle zurück, in denen das Feld website_url Daten enthält.

SELECT name, phone
FROM company
WOBEI website_url NICHT NULL ist;

Beispiel 2: Verwenden von NULL oder NOT NULL in INSERT Query

Die folgende Abfrage fügt den Wert company_id aus der Tabelle company in die Tabelle items ein, die keinen Wert website_url hat. Es gibt einen Datensatz in company, in dem website_url NULL ist. Nach dem Ausführen der Abfrage wird also ein Datensatz eingefügt.

Insert into items
(company_id)
SELECT company_id
FROM company
WOBEI website_url NULL ist;

Beispiel 3: Verwenden von NULL in der Aktualisierungsabfrage

name Feldwert der Artikeltabelle wird aktualisiert, welcher Datensatz NULL im Mengenfeld enthält. Entsprechend den Daten wird ein Datensatz nach Ausführung der Abfrage aktualisiert.

Artikel AKTUALISIEREN
SET name = ‚Neuer Wert‘
WHERE quantity NULL;

Beispiel 4: Verwenden von NULL oder NOT NULL in der Aktualisierungsabfrage

Die folgende Abfrage löscht Datensätze aus der Elementtabelle, in der der Mengenwert NULL ist. Es gibt nur einen Datensatz in der Artikeltabelle, in dem der Mengenwert NULL ist. Ein Datensatz wird also nach Ausführung der Abfrage gelöscht.

AUS Artikeln LÖSCHEN
WO Menge NULL ist;

Sie können NULL- und NOT NULL-Klauseln mit der WHERE-Klausel anwenden, um eine Abfrage basierend auf der Tabelle auszuführen, wenn die Tabelle einen Nullwert enthält. Aber NULLWERT und leere Zeichenfolge sind nicht identisch. Wenn Sie ein Feld der Tabelle ohne die Option NULL erstellen und leere Daten in diesem Feld behalten, funktioniert die NULL-Klausel für dieses Feld nicht. Sie können die NULL-Klausel für jede Tabelle basierend auf der Tabellenstruktur anwenden.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.