MariaDB - Clonación de tablas

Algunas situaciones requieren producir una copia exacta de una tabla existente. La instrucción CREATE ... SELECT no puede producir esta salida porque descuida cosas como índices y valores predeterminados.

El procedimiento para duplicar una tabla es el siguiente:

  • Utilice SHOW CREATE TABLE para producir una declaración CREATE TABLE que detalle toda la estructura de la tabla fuente.

  • Edite la instrucción para darle a la tabla un nuevo nombre y ejecútela.

  • Utilice una instrucción INSERT INTO ... SELECT si también necesita que se copien los datos de la tabla.

mysql> INSERT INTO inventory_copy_tbl (
   product_id,product_name,product_manufacturer,ship_date)
   
   SELECT product_id,product_name,product_manufacturer,ship_date,
   FROM inventory_tbl;

Otro método para crear un duplicado usa una instrucción CREATE TABLE AS. La declaración copia todas las columnas, definiciones de columna y completa la copia con los datos de la tabla de origen.

Revise su sintaxis dada a continuación:

CREATE TABLE clone_tbl AS
   SELECT columns
   FROM original_tbl
   WHERE conditions];

Revise un ejemplo de su uso a continuación:

CREATE TABLE products_copy_tbl AS
   SELECT *
   FROM products_tbl;