SQL INSERT INTO





SQL > Modifica delle Tabelle > Insert Into

Nei paragrafi precedenti, è stato visto come recuperare le informazioni da una tabella. È arrivato il momento di sapere come vengono inserite queste righe di dati in una tabella. Nei prossimi due paragrafi vengono descritte le istruzioni INSERT e UPDATE.

Nel linguaggio SQL, esistono fondamentalmente due modi per l’inserimento dei dati in una tabella: Uno, contempla l’inserimento dei dati in una riga alla volta, l'altro, in più righe alla volta. Di seguito viene descritto come inserire i dati in una riga alla volta mediante il comando INSERT.

La sintassi per l’inserimento dei dati in una tabella una riga alla volta è la seguente:

INSERT INTO "nome_della_tabella" ("colonna_1", "colonna_2", ...)
VALUES ("valore_1", "valore_2", ...);

Si supponga di disporre di una tabella caratterizzata dalla seguente struttura:

Tabella Store_Information
Nome di ColonnaTipo di Dati
Store_Name char(50)
Sales float
Txn_Date datetime

e che adesso si desideri inserire un’altra riga nella tabella in cui siano rappresentati i dati delle vendite realizzate a Los Angeles il 10 gennaio 1999. In quella data, questo negozio ha realizzato 900 € di vendite. Si utilizzerà, quindi, il seguente script SQL:

INSERT INTO Store_Information (Store_Name, Sales, Txn_Date)
VALUES ('Los Angeles', 900, '10-Jan-1999');

Con il secondo metodo di inserimento dei dati, INSERT INTO, è possibile inserire più righe in una tabella. Diversamente dall'esempio precedente, in cui veniva inserita una sola riga specificandone il valore per tutte le colonne, adesso, mediante l’istruzione SELECT, è possibile specificare i dati che si desiderano immettere nella tabella. Ciò significa che si stanno utilizzando le informazioni presenti in un'altra tabella. La sintassi è la seguente:

INSERT INTO "tabella 1" ("colonna 1", "colonna 2", ...)
SELECT "colonna 3", "colonna 4", ...
FROM "tabella 2";

Si noti che questa rappresenta la forma più semplice. L’intera istruzione può facilmente contenere le clausole WHERE, GROUP BY, e HAVING così come unioni di tabella e alias.

In questo modo, se, ad esempio, si desidera disporre di una tabella Store_Informationin cui sono raccolte tutte le informazioni relative alle vendite del 1998 e si è già a conoscenza che i dati di origine risiedono nella tabella Sales_Information, è necessario digitare:

INSERT INTO Store_Information (Store_Name, Sales, Txn_Date)
SELECT Store_Name, Sales, Txn_Date
FROM Sales_Information
WHERE Year (Txn_Date) = 1998;

In questo caso, per estrarre le informazioni relative all’anno di una data è stata utilizzata la sintassi di SQL Server. In altri database relazionali sono necessarie sintassi diverse. Ad esempio, in Oracle, viene utilizzata la sintassi TO_CHAR (Txn_Date, 'yyyy') = 1998.

SQL UPDATE >>



Copyright © 2016   1keydata.com   Tutti i diritti riservati