Esercitazione MySQL

MySQL HOME Introduzione a MySQL MySQL RDBMS

MySQL SQL

MySQL SQL SELEZIONA MySQL MySQL DOVE MySQL E, O, NON MySQL ORDINA PER MySQL INSERT IN Valori NULL MySQL AGGIORNAMENTO MySQL MySQL DELETE LIMITE MySQL MySQL MIN e MAX MySQL COUNT, MEDIO, SOMMA MySQL MI PIACE Caratteri jolly MySQL MySQL IN MySQL TRA alias MySQL MySQL si unisce MySQL INNER JIN MySQL ha lasciato il join MySQL GIUSTO UNISCITI MySQL CROSS JIN MySQL Self Join MySQL UNION MySQL GRUPPO PER MySQL AVENDO MySQL ESISTE MySQL QUALSIASI, TUTTO SELEZIONA INSERTO MySQL CASO MySQL Funzioni null di MySQL Commenti MySQL Operatori MySQL

Database MySQL

MySQL Crea DB MySQL Drop DB MySQL Crea tabella MySQL Drop Table MySQL Alter tabella Vincoli MySQL MySQL non nullo MySQL unico Chiave primaria MySQL Chiave esterna MySQL Controllo MySQL MySQL predefinito MySQL Crea indice Incremento automatico di MySQL Date MySQL Viste MySQL

Riferimenti MySQL

Tipi di dati MySQL Funzioni MySQL

Esempi MySQL

Esempi MySQL Quiz MySQL Esercizi MySQL

Istruzione MySQL INSERT INTO SELECT


L'istruzione MySQL INSERT INTO SELECT

L' INSERT INTO SELECTistruzione copia i dati da una tabella e li inserisce in un'altra tabella.

L' INSERT INTO SELECTistruzione richiede che i tipi di dati nelle tabelle di origine e di destinazione corrispondano.

Nota: i record esistenti nella tabella di destinazione non sono interessati.

INSERT IN SELECT Sintassi

Copia tutte le colonne da una tabella a un'altra tabella:

INSERT INTO table2
SELECT * FROM table1
WHERE condition;

Copia solo alcune colonne da una tabella in un'altra tabella:

INSERT INTO table2 (column1, column2, column3, ...)
SELECT column1, column2, column3, ...
FROM table1
WHERE condition;

Database dimostrativo

In questo tutorial utilizzeremo il noto database di esempio Northwind.

Di seguito una selezione dalla tabella "Clienti":

CustomerID CustomerName ContactName Address City PostalCode Country
1

Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico

E una selezione dalla tabella "Fornitori":

SupplierID SupplierName ContactName Address City Postal Code Country
1 Exotic Liquid Charlotte Cooper 49 Gilbert St. Londona EC1 4SD UK
2 New Orleans Cajun Delights Shelley Burke P.O. Box 78934 New Orleans 70117 USA
3 Grandma Kelly's Homestead Regina Murphy 707 Oxford Rd. Ann Arbor 48104 USA


MySQL INSERT IN SELECT Esempi

La seguente istruzione SQL copia "Fornitori" in "Clienti" (le colonne non riempite di dati conterranno NULL):

Esempio

INSERT INTO Customers (CustomerName, City, Country)
SELECT SupplierName, City, Country FROM Suppliers;

La seguente istruzione SQL copia "Fornitori" in "Clienti" (riempire tutte le colonne):

Esempio

INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode, Country)
SELECT SupplierName, ContactName, Address, City, PostalCode, Country FROM Suppliers;

La seguente istruzione SQL copia solo i fornitori tedeschi in "Clienti":

Esempio

INSERT INTO Customers (CustomerName, City, Country)
SELECT SupplierName, City, Country FROM Suppliers
WHERE Country='Germany';