SQL SELECT INTO – cómo copiar conjuntos de datos en tablas
Con SQL SELECT INTO
puedes copiar los conjuntos de datos que quieras y pegarlos en una tabla nueva o dejarlos en el portapapeles. Su ventaja principal es que permite una transmisión de datos rápida y fiable con la que puedes organizar, actualizar y ordenar datos.
¿Qué es SQL SELECT INTO
?
El lenguaje de programación y bases de datos SQL ofrece diversas herramientas para gestionar, analizar y procesar de manera profesional tus bases de datos. Entre ellas están comandos como SQL SELECT, que puede combinarse con otros operadores para llevar a cabo diversas acciones. Por ejemplo, con SQL SELECT DISTINCT puedes eliminar duplicados, mientras que con el operador de SQL SELECT INTO
puedes copiar los datos de una tabla a otra. SELECT INTO
no es uno de los comandos, operadores ni funciones clásicas de SQL, sino que funciona como cláusula en los statements de SQL.
Aprende los fundamentos y funciones más importantes de SQL – uno de los lenguajes de programación y bases de datos más populares y solicitados en todos los sectores. Con nuestra guía SQL con ejemplos podrás iniciarte en el programa rápidamente.
Sintaxis de SELECT INTO
La sintaxis SELECT INTO
es sencilla:
SELECT *
INTO nueva_tablameta
FROM tabla_existente;
sqlUtiliza los parámetros:
SELECT
: El comandoSELECT
define las columnas de la tabla ya existente de la que quieres copiar los datos. Puedes indicar los nombres concretos de las columnas o usar un asterisco*
para copiar todos los datos de la tabla de origen.INTO
: Define y nombra la nueva tabla meta para los datos copiados.FROM
: Elige la tabla ya existente de la que quieres copiar los datos.WHERE
: Con la cláusula opcional SQL WHERE puedes especificar condiciones concretas que deben reunir los datos que vas a copiar de la tabla de origen.
Para qué sirve el operador SELECT INTO
SQL SELECT INTO
sirve principalmente para trasladar datos a una tabla nueva, pero también vale para agregar, almacenar temporalmente en la caché o extraer conjuntos de datos o parte de ellos. Eliminando además los duplicados, por ejemplo con DISTINCT
, puedes limpiar y reducir tus datos.
He a continuación algunos usos prácticos de distintas ramas:
- Copiar, extraer y trasladar datos de productos, clientes, pedidos o pacientes para proyectos nuevos, estudios o para la migración de datos
- Analizar datos de tendencias y marketing mediante datos de pedidos y ventas
- Analizar datos financieros trasladando datos de transacciones
- Limpiar datos de clientes o trabajadores eliminando los duplicados en una tabla nueva
- Recabar y analizar datos en Data Warehouses
- Recoger datos para modelos de aprendizaje automático
¿Buscas un sistema de gestión de bases de datos seguro y escalable? Con Hosting SQL Server de IONOS accederás a una oferta única de servidor y alojamiento con una protección de datos según estándares alemanes.
- Ancho de banda de hasta 1 Gb/s y tráfico ilimitado
- Almacenamiento SSD NVMe ultrarrápido
- Incluye: edición Plesk Web Host
Ejemplos prácticos de SQL SELECT INTO
Te explicamos cómo funciona SQL SELECT INTO con dos ejemplos prácticos.
Seleccionar y transferir clientes únicos
En la tabla “Pedidos”, quieres seleccionar todos los resultados de la columna “Nombre de cliente” y transferir sin duplicar las filas por pedidos varios a una tabla nueva llamada “Pedidos nuevos”.
SELECT DISTINCT nombre cliente
INTO pedidos nuevos
FROM pedidos;
sqlTransferir las entradas de clientes de una determinada región
Con la cláusula WHERE
puedes elegir los datos de cliente que cumplen ciertas condiciones. Por ejemplo, así es como puedes transferir las entradas de clientes que vienen de Alemania:
SQL Server:
SELECT nombre cliente, país
INTO pedidos nuevos
FROM pedidos
WHERE país = 'Alemania';
sqlMySQL, PostgreSQL, SQlite:
INSERT INTO Pedidos nuevos (nombre cliente, país)
SELECT nombre cliente, país
FROM pedidos
WHERE país = 'Alemania';
sqlAlternativas a SQL SELECT INTO
Para copiar y transferir datos entre tablas, hay varias opciones además de SELECT INTO
. Estas son las más importantes:
INSERT INTO SELECT
: SQL INSERT INTO SELECT permite copiar y pegar conjuntos de datos o resultados de una tabla a otra ya existente. La principal diferencia es que conSELECT INTO
se crea una tabla nueva donde pegar los datos.CREATE TABLE AS
: Con la asignación SQL CREATE TABLE puedes crear una tabla nueva. Combinándola con SQL SELECT y AS puedes elegir que la tabla nueva se base en los resultados de la ordenSELECT
y por tanto debe contener los datos elegidos de una tabla existente.UNION
oUNION ALL
: Con el operador SQL UNION puedes unificar los datos de las tablas y columnas que quieras en una nueva tabla meta sin duplicados. Si se combina con el operador ALL, puedes decidir que se tengan en cuenta que todos los conjuntos de datos de una tabla, incluyendo los duplicados.IMPORT TABLE
: La instrucciónIMPORT TABLE
solo es adecuada para importar datos de una tabla externa y archivos de una tabla. El comando está disponible sobre todo en las versiones más nuevas de SQL.LOAD DATA INFILE
: Esta instrucción funciona comoIMPORT TABLE
, pero es más flexible, también más compleja en uso, y soporta más formatos de fuentes externas. Además está disponible en todas las versiones de SQL.