TOP

SQL INSERT INTO

SQL INSERT INTO Descrizione

L'istruzione INSERT INTO viene utilizzata per inserire nuovi record nella tabella.


INSERT INTO Sintassi

L'istruzione INSERT INTO può essere scritta in due modi:

1. Specificare i nomi delle colonne e i valori da inserire:

INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...)

2. Se stai aggiungendo valori per tutte le colonne nella tabella, non è necessario specificare i nomi delle colonne nella query SQL. Assicurati però che l'ordine dei valori corrisponda all'ordine delle colonne nella tabella. Qui la sintassi INSERT INTO sarà:

INSERT INTO table_name
VALUES (value1, value2, value3, ...)

Banca dati dimostrativa

Quello che segue è un esempio della tabella "Customers" ("Clienti") del database "Northwind":

CustomerID CustomerName ContactName Address City PostalCode Country
89 White Clover Markets Karl Jablonski 305 - 14th Ave. S. Suite 3B Seattle 98128 USA
90 Wilman Kala Matti Karttunen Keskuskatu 45 Helsinki 21240 Finland
91 Wolski Zbyszek ul. Filtrowa 68 Walla 01-012 Poland

INSERT INTO Esempio

La seguente istruzione SQL inserisce un nuovo record nella tabella "Customers":

INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode, Country)
VALUES ('Cardinal', 'Tom B. Erichsen', 'Skagen 21', 'Stavanger', '4006', 'Norway')

La selezione dalla tabella "Customers" sarà ora simile a questa:

CustomerID CustomerName ContactName Address City PostalCode Country
89 White Clover Markets Karl Jablonski 305 - 14th Ave. S. Suite 3B Seattle 98128 USA
90 Wilman Kala Matti Karttunen Keskuskatu 45 Helsinki 21240 Finland
91 Wolski Zbyszek ul. Filtrowa 68 Walla 01-012 Poland
92 Cardinal Tom B. Erichsen Skagen 21 Stavanger 4006 Norway
Hai notato che non abbiamo inserito alcun numero nel campo CustomerID? La colonna CustomerID è un campo numerato automaticamente che verrà popolato dal sistema quando un nuovo record viene aggiunto alla tabella.

Inserisci i dati solo nelle colonne specificate

Puoi anche inserire dati solo in determinate colonne.

La seguente istruzione SQL inserirà un nuovo record, ma solo i dati nelle colonne "CustomerName", "City" e "Country" (CustomerID verrà aggiornato automaticamente):

INSERT INTO Customers (CustomerName, City, Country)
VALUES ('Cardinal', 'Stavanger', 'Norway')

La selezione dalla tabella "Customers" sarà ora simile a questa:

CustomerID CustomerName ContactName Address City PostalCode Country
89 White Clover Markets Karl Jablonski 305 - 14th Ave. S. Suite 3B Seattle 98128 USA
90 Wilman Kala Matti Karttunen Keskuskatu 45 Helsinki 21240 Finland
91 Wolski Zbyszek ul. Filtrowa 68 Walla 01-012 Poland
92 Cardinal null null Stavanger null Norway