MariaDB - Клонирование таблиц

В некоторых ситуациях требуется создание точной копии существующей таблицы. Оператор CREATE ... SELECT не может произвести этот вывод, потому что он игнорирует такие вещи, как индексы и значения по умолчанию.

Процедура копирования таблицы выглядит следующим образом:

  • Используйте SHOW CREATE TABLE для создания оператора CREATE TABLE, который детализирует всю структуру исходной таблицы.

  • Отредактируйте оператор, чтобы дать таблице новое имя, и выполните его.

  • Используйте оператор INSERT INTO ... SELECT, если вам также нужно скопировать данные таблицы.

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;

Другой метод создания дубликата использует оператор CREATE TABLE AS. Оператор копирует все столбцы, определения столбцов и заполняет копию данными исходной таблицы.

Просмотрите его синтаксис, приведенный ниже -

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

Просмотрите пример его использования ниже -

CREATE TABLE products_copy_tbl AS
   SELECT *
   FROM products_tbl;