English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Copiar tabla SQL

En este tutorial, aprenderás a crear una copia de una tabla existente.

Clonar o copiar la tabla

En algunos casos, es posible que desees crear una copia exacta o clon de una tabla existente para probar o realizar ciertas operaciones sin afectar la tabla original.

La siguiente sección explicará cómo realizar esta operación en varios pasos simples.

Paso1Crear una tabla vacía

Primero usa la siguiente sentencia para crear una tabla vacía basada en la definición de la tabla original. Esto también incluye las propiedades de columnas y índices definidos en la tabla original:

CREATE TABLE new_table LIKE original_table;

Paso2Insertar datos en la tabla

Ahora, usa la siguiente sentencia para llenar la tabla vacía con los datos de la tabla original:

INSERT INTO new_table SELECT * FROM original_table;

Vamos a usar la herramienta de línea de comandos de MySQL para clonar la tabla.

Considera que nosotrosemployeesEn la base de datos hay una tabla que contiene los siguientes registros:

+--------+--------------+------------+--------+---------+
| emp_id | emp_name | hire_date | salary | dept_id |
+--------+--------------+------------+--------+---------+
|      1 | Ethan Hunt | 2001-05-01 |   5000 |       4 |
|      2 | Tony Montana | 2002-07-15 |   6500 |       1 |
|      3 | Sarah Connor | 2005-10-18 |   8000 |       5 |
|      4 | Rick Deckard | 2007-01-03 |   7200 |       3 |
|      5 | Martin Blank | 2008-06-24 |   5600 | NULL |
+--------+--------------+------------+--------+---------+

Ejecuta la siguiente sentencia SQL, que se basa en la base de datos existenteemployeesLa definición de la tabla de la base de datos crea una tabla vacíaemployees_clone.

 employees_clone  employees;

Ahora, ejecuta otra sentencia SQL que insertará todos los registros de la tabla employee en la tabla employees_clone. Después de ejecutar esta sentencia, obtendrás la tabla employee_clone, que es una copia exacta o duplicado de la tabla employee.

 employees_clone  *  employees;

Clonación simple

Pero, si solo desea crear una tabla a partir de otra tabla sin considerar ninguna propiedad de columna ni índice, puede usar una sola línea de comando simple:

CREATE TABLE new_table SELECT * FROM original_table;

Las siguientes órdenes creanemployeesCopia simple de la tabla.

 employees_dummy  *  employees;

Consejo:Se puede crear rápidamente una copia simple de cualquier tabla que contenga solo la estructura y los datos de la tabla de origen utilizando la sintaxis CREATE TABLE ... SELECT.