Como administradores de bases de datos DBA, mucha veces necesitamos mover volúmenes de información muy grandes de una tabla a otra, para poder realizar tal accion podemos hacer uso de un INSERT SELECT; que no es mas que un INSERT en el cual se le pasan los valores del resultado de una consulta SELECT de la tabla en la cual tenemos los datos, la sintaxis del Comando INSERT SELECT en MySQL es la siguiente:
INSERT INTO tabla2 SELECT * FROM tabla1;
Así mismo también podemos utilizar:
INSERT INTO tabla2 (campo1,campo2) (SELECT campo1,campo2 FROM tabla1);
Comando INSERT SELECT en MySQL (Pasar datos de una tabla a otra)
Veamos un ejemplo practico, tenemos 2 tablas personas y personas2, queremos pasar a la tabla personas2 solo los nombres y apellidos de la tabla personas la cual tiene la siguiente estructura:
🌟 ¡Visita Nuestra Tienda para Programadores! 🌟Descubre Códigos Fuente, Cursos, Software, Computadoras, Accesorios y Regalos Exclusivos. ¡Todo lo que necesitas para llevar tu programación al siguiente nivel!
y consta con la siguiente información:
Ahora realizamos nuestra Query la cual queda de la siguiente manera:
INSERT INTO tabla2 (nombres,apellidos)(SELECT nombres, apellidos FROM personas)
Luego de ejecutar la consulta obtenemos la siguiente salida avisando que hemos movido los registros con exito:
1 queries executed, 1 success, 0 errors, 0 warnings Query: insert into personas2 (nombres,apellidos)(select nombres, apellidos from personas) 7 row(s) affected
El uso de este comando o combinación de comandos (Insert y Select), son muy necesarios en la gestión de nuestras bases de datos; por lo tanto debemos manejarlos lo mejor posible.