Cómo llenar tablas usando INSERT INTO SELECT en MySQL
Clase 22 de 24 • Curso de Fundamentos de Bases de Datos
Resumen
Aprender cómo llenar una tabla con datos de otra tabla utilizando INSERT INTO SELECT
en MySQL es una habilidad clave para optimizar tu trabajo con bases de datos. Este método permite llenar rápidamente tablas nuevas aprovechando información existente, haciendo el proceso eficiente y claro.
¿Para qué sirve usar INSERT INTO SELECT en MySQL?
Esta función es ideal cuando precisas crear una nueva tabla a partir de información previamente almacenada. Por ejemplo, almacenar fácilmente el monto invertido en diferentes productos de un inventario.
La estructura general de este comando es sencilla y directa:
INSERT INTO investment (productID, investment)
SELECT productID, stock * price FROM products;
No necesitas usar la palabra VALUES
; en su lugar, utilizas un SELECT
que alimentará los datos en las columnas correspondientes según su orden.
¿Cómo implementar INSERT INTO SELECT con un caso práctico?
Te cuento paso a paso cómo hacerlo:
- Crea primero una nueva tabla (
investment
) con los campos correspondientes:
CREATE TABLE investment (
ID INT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
productID INT UNSIGNED NOT NULL,
investment INT NOT NULL DEFAULT 0
);
- Ejecuta el comando
INSERT INTO SELECT
:
INSERT INTO investment (productID, investment)
SELECT productID, stock * price FROM products;
- Revisa que los datos estén correctamente insertados usando:
SELECT * FROM investment;
¿Cómo recuperar y ordenar datos almacenados?
Luego de insertar datos, puedes hacer consultas específicas como:
SELECT * FROM investment ORDER BY investment DESC LIMIT 10;
Esto te mostrará rápidamente los productos en los que tienes mayor inversión.
Para identificar fácilmente los detalles del producto más invertido, realiza una consulta adicional con el productID
específico:
SELECT * FROM products WHERE productID = 1208;
¿Te animas a contarme cómo fue tu experiencia usando INSERT INTO SELECT
? ¡Comparte tus resultados en los comentarios y sigamos aprendiendo juntos!