Con SQL, puede copiar información de una tabla a otra.
La copia de datos de sentencias INSERT INTO SELECT de una tabla y lo inserta en una tabla existente.
La instrucción SQL INSERT INTO SELECT
La instrucción INSERT INTO SELECT selecciona datos de una tabla y lo inserta en una tabla existente. Cualquier filas existentes en la tabla de destino no se ven afectadas.
SQL INSERT INTO SELECT Sintaxis
Podemos copiar todas las columnas de una tabla a otra, tabla existente:
INSERT INTO table2
SELECT * FROM table1;
O podemos copiar sólo las columnas que queremos en otro, tabla existente:
INSERT INTO table2
(column_name(s))
SELECT column_name(s)
FROM table1;
Base de datos de demostración
En este tutorial vamos a utilizar la base de datos Neptuno conocido.
A continuación se muestra una selección de la "Customers" tabla:
Identificación del cliente | Nombre del cliente | Nombre de contacto | Dirección | Ciudad | Código postal | País |
---|---|---|---|---|---|---|
1 |
Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitucion 2222 | Mexico D.F. | 05021 | Mexico |
3 | Antonio Moreno Taqueria | Antonio Moreno | Mataderos 2312 | Mexico D.F. | 05023 | Mexico |
Y una selección de la "Suppliers" tabla:
Identificación del proveedor | Nombre del proveedor | Nombre de contacto | Dirección | Ciudad | código postal | País | Teléfono |
---|---|---|---|---|---|---|---|
1 | líquido exótica | Charlotte Cooper | 49 Gilbert St. | Londona | EC1 4SD | Reino Unido | (171) 555-2222 |
2 | New Orleans Cajun Delights | Burke Shelley | PO Box 78934 | Nueva Orleans | 70117 | Estados Unidos | (100) 555-4822 |
3 | Homestead de la abuela Kelly | Regina Murphy | 707 Oxford Rd. | Ann Arbor | 48104 | Estados Unidos | (313) 555-5735 |
Ejemplos de SQL INSERT INTO SELECT
Copiar sólo unas pocas columnas de "Suppliers" en "Customers" :
Ejemplo
INSERT INTO Customers (CustomerName, Country)
SELECT SupplierName, Country FROM Suppliers;
Inténtalo tú mismo " Copiar sólo los proveedores alemanes en "Customers" :
Ejemplo
INSERT INTO Customers (CustomerName, Country)
SELECT SupplierName, Country FROM Suppliers
WHERE Country='Germany';
Inténtalo tú mismo "