Cómo copiar una tabla en mysql

Cómo copiar una tabla en mysql
Hay algunos casos en los que es posible que necesitemos copiar una tabla específica de la misma o una base de datos diferente. Por ejemplo, al realizar copias de seguridad o migraciones, es posible que necesitemos restaurar una tabla sin restaurar toda la base de datos.

Este tutorial repasará cómo copiar una tabla de una base de datos a otra tabla usando MySQL Crear y seleccionar cláusulas.

Casos de uso

El primer caso en el que necesitamos copiar una tabla es copiar datos específicos de una tabla existente a una nueva. Por ejemplo, en la base de datos de muestra de Sakila, podemos copiar información específica de la tabla de película a una nueva tabla llamada Film_revised.

Considere la consulta a continuación para realizar dicha operación:

Crear base de datos copy_tb;
usar copy_tb;
Crear Table Film_revised Select Title, Release_Year, Longitud, Calificación de Sakila.película;

Una vez que se ejecuta la consulta anterior, podemos ver los datos almacenados en la tabla utilizando la instrucción SELECT MYSQL como se muestra en la salida a continuación:

mysql> seleccionar * del límite de film_revised 10;
+------------------+--------------+--------+--------+
| título | Release_year | Longitud | Calificación |
+------------------+--------------+--------+--------+
| Dinosaurio de la Academia | 2006 | 86 | PG |
| Ace Goldfinger | 2006 | 48 | G |
| Agujeros de adaptación | 2006 | 50 | NC-17 |
| Prejuicio de asuntos | 2006 | 117 | G |
| Huevo africano | 2006 | 130 | G |
| Agente Truman | 2006 | 169 | PG |
| Airplane Sierra | 2006 | 62 | PG-13 |
| Airport Pollock | 2006 | 54 | R |
| Alabama Devil | 2006 | 114 | PG-13 |
| Calendario Aladdin | 2006 | 63 | NC-17 |
+------------------+--------------+--------+--------+
10 filas en el set (0.00 seg)

Como puede ver, podemos crear nuevas tablas con información seleccionada de las tablas existentes sin alterar los datos en la base de datos original.

NOTA: Copiar una tabla utilizando la tabla Crear y seleccionar declaraciones solo copia la tabla y sus datos. No copia objetos como índices, desencadenantes, restricciones de claves primarias, etc., conectado a la tabla original.

Copiar tabla + objetos

Para copiar los datos de la tabla + y todos los objetos relacionados, utilizamos la instrucción LIGE seguida de la instrucción Insertar como se ilustra en la consulta a continuación:

Crea Table Film_copy como Sakila.película;
Insertar Film_Copy Select * de Sakila.película;

La consulta anterior copiará todo, desde la tabla original en la nueva, incluidos índices, claves primarias, restricciones y otros objetos conectados a la tabla original.

NOTA: Tenga cuidado al usar las declaraciones de copia en tablas masivas, ya que pueden usar más recursos y tardar mucho en completar.

Copiar tablas de bases de datos separadas

Si necesita copiar una tabla de diferentes bases de datos, puede hacer referencia a la base de datos utilizando el punto (.) notación.

Por ejemplo, comience creando una nueva base de datos como:

Crear base de datos si no existe multi_db;

A continuación, use la sintaxis que se muestra previamente para copiar una tabla de la base de datos anterior a la nueva. Vea la consulta a continuación:

Crear tabla multi_db.new_tb como sakila.película;
Insertar multi_db.new_tb select * de Sakila.película;

Esto copiará la tabla de la película de la tabla de la base de datos Sakila a la nueva y mostrará la salida como se muestra a continuación:

Consulta bien, 1000 filas afectadas (0.03 seg)
Registros: 1000 Duplicados: 0 Advertencias: 0

Puede usar la instrucción Seleccionar para verificar que los datos se han copiado con éxito.

Conclusión

Esta guía rápida ha revisado cómo usar la tabla de creación mysql y seleccionar declaraciones para copiar columnas específicas de una tabla a una nueva tabla.

También observamos cómo copiar todos los datos, incluidos los objetos asociados con la tabla original, a una nueva tabla.

Finalmente, discutimos cómo copiar tablas de una base de datos a otra.

Gracias por leer.