Comando INSERT SELECT en MySQL (Pasar datos de una tabla a otra)

Mysql

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:

Tabla personas:
Comando INSERT SELECT en MySQL

y consta con la siguiente información:
Comando INSERT SELECT en MySQL

Tabla personas2:
Comando INSERT SELECT en MySQL

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

Tabla personas 2 llena

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.

¡Suscríbete a mi canal, para acceder a más contenidos gratuitos!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *