PostgreSQL - INSERT Query
Il PostgreSQL INSERT INTOl'istruzione consente di inserire nuove righe in una tabella. È possibile inserire una singola riga alla volta o più righe come risultato di una query.
Sintassi
La sintassi di base dell'istruzione INSERT INTO è la seguente:
INSERT INTO TABLE_NAME (column1, column2, column3,...columnN)
VALUES (value1, value2, value3,...valueN);
Qui, colonna1, colonna2, ... colonnaN sono i nomi delle colonne nella tabella in cui si desidera inserire i dati.
I nomi delle colonne di destinazione possono essere elencati in qualsiasi ordine. I valori forniti dalla clausola o query VALUES sono associati all'elenco di colonne esplicito o implicito da sinistra a destra.
Potrebbe non essere necessario specificare il nome delle colonne nella query SQL se si aggiungono valori per tutte le colonne della tabella. Tuttavia, assicurati che l'ordine dei valori sia nello stesso ordine delle colonne nella tabella. La sintassi SQL INSERT INTO sarebbe la seguente:
INSERT INTO TABLE_NAME VALUES (value1,value2,value3,...valueN);
Produzione
La tabella seguente riassume i messaggi di output e il loro significato:
S. No. | Messaggio di output e descrizione |
---|---|
1 | INSERT oid 1 Messaggio restituito se è stata inserita una sola riga. oid è l'OID numerico della riga inserita. |
2 | INSERT 0 # Messaggio restituito se sono state inserite più righe. # è il numero di righe inserite. |
Esempi
Creiamo la tabella AZIENDA in formato testdb come segue -
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
);
L'esempio seguente inserisce una riga nella tabella COMPANY -
INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY,JOIN_DATE) VALUES (1, 'Paul', 32, 'California', 20000.00,'2001-07-13');
L'esempio seguente consiste nell'inserire una riga; qui la colonna dello stipendio è omessa e quindi avrà il valore di default -
INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,JOIN_DATE) VALUES (2, 'Allen', 25, 'Texas', '2007-12-13');
L'esempio seguente utilizza la clausola DEFAULT per la colonna JOIN_DATE anziché specificare un valore:
INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY,JOIN_DATE) VALUES (3, 'Teddy', 23, 'Norway', 20000.00, DEFAULT );
L'esempio seguente inserisce più righe utilizzando la sintassi VALUES a più righe:
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');
Tutte le dichiarazioni di cui sopra creerebbero i seguenti record nella tabella AZIENDA. Il prossimo capitolo ti insegnerà come visualizzare tutti questi record da una tabella.
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