PostgreSQL - INSERT-Abfrage
Das PostgreSQL INSERT INTOAnweisung ermöglicht es, neue Zeilen in eine Tabelle einzufügen. Man kann eine einzelne Zeile gleichzeitig oder mehrere Zeilen als Ergebnis einer Abfrage einfügen.
Syntax
Die grundlegende Syntax der INSERT INTO-Anweisung lautet wie folgt:
INSERT INTO TABLE_NAME (column1, column2, column3,...columnN)
VALUES (value1, value2, value3,...valueN);
Hier sind Spalte1, Spalte2, ... SpalteN die Namen der Spalten in der Tabelle, in die Sie Daten einfügen möchten.
Die Namen der Zielspalten können in beliebiger Reihenfolge aufgelistet werden. Die von der VALUES-Klausel oder -Abfrage bereitgestellten Werte sind der expliziten oder impliziten Spaltenliste von links nach rechts zugeordnet.
Möglicherweise müssen Sie den Spaltennamen nicht in der SQL-Abfrage angeben, wenn Sie Werte für alle Spalten der Tabelle hinzufügen. Stellen Sie jedoch sicher, dass die Reihenfolge der Werte in derselben Reihenfolge wie die Spalten in der Tabelle liegt. Die SQL INSERT INTO-Syntax lautet wie folgt:
INSERT INTO TABLE_NAME VALUES (value1,value2,value3,...valueN);
Ausgabe
In der folgenden Tabelle sind die Ausgabenachrichten und ihre Bedeutung zusammengefasst.
S. Nr. | Ausgangsnachricht & Beschreibung |
---|---|
1 | INSERT oid 1 Nachricht zurückgegeben, wenn nur eine Zeile eingefügt wurde. oid ist die numerische OID der eingefügten Zeile. |
2 | INSERT 0 # Nachricht zurückgegeben, wenn mehr als eine Zeile eingefügt wurde. # ist die Anzahl der eingefügten Zeilen. |
Beispiele
Lassen Sie uns die COMPANY-Tabelle in erstellen testdb wie folgt -
CREATE TABLE COMPANY(
ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(50),
SALARY REAL,
JOIN_DATE DATE
);
Im folgenden Beispiel wird eine Zeile in die Tabelle COMPANY eingefügt.
INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY,JOIN_DATE) VALUES (1, 'Paul', 32, 'California', 20000.00,'2001-07-13');
Im folgenden Beispiel wird eine Zeile eingefügt. Hier wird die Gehaltsspalte weggelassen und hat daher den Standardwert -
INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,JOIN_DATE) VALUES (2, 'Allen', 25, 'Texas', '2007-12-13');
Im folgenden Beispiel wird die DEFAULT-Klausel für die Spalte JOIN_DATE verwendet, anstatt einen Wert anzugeben.
INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY,JOIN_DATE) VALUES (3, 'Teddy', 23, 'Norway', 20000.00, DEFAULT );
Im folgenden Beispiel werden mehrere Zeilen mit der mehrzeiligen VALUES-Syntax eingefügt.
INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY,JOIN_DATE) VALUES (4, 'Mark', 25, 'Rich-Mond ', 65000.00, '2007-12-13' ), (5, 'David', 27, 'Texas', 85000.00, '2007-12-13');
Alle obigen Anweisungen würden die folgenden Datensätze in der COMPANY-Tabelle erstellen. Im nächsten Kapitel erfahren Sie, wie Sie alle diese Datensätze aus einer Tabelle anzeigen.
ID NAME AGE ADDRESS SALARY JOIN_DATE
---- ---------- ----- ---------- ------- --------
1 Paul 32 California 20000.0 2001-07-13
2 Allen 25 Texas 2007-12-13
3 Teddy 23 Norway 20000.0
4 Mark 25 Rich-Mond 65000.0 2007-12-13
5 David 27 Texas 85000.0 2007-12-13