English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
В этом руководстве вы узнаете, как создать копию существующей таблицы.
В некоторых случаях вы можете захотеть создать точную копию или клон существующей таблицы для тестирования или выполнения某些 операций, не затрагивая исходную таблицу.
В следующем разделе将通过 несколько простых шагов объяснить, как выполнить эту операцию.
Сначала используйте следующее предложение для создания пустой таблицы на основе определения исходной таблицы. Это также включает атрибуты столбцов и индексы, определенные в исходной таблице:
CREATE TABLE new_table LIKE original_table;
Теперь используйте следующее предложение для заполнения пустой таблицы данными из исходной таблицы:
INSERT INTO new_table SELECT * FROM original_table;
Давайте используем инструмент командной строки MySQL для клонирования таблицы.
Рассмотрим насemployeesв базе данных есть таблица, содержащая следующие записи:
+--------+--------------+------------+--------+---------+ | 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 | +--------+--------------+------------+--------+---------+
Выполните следующий SQL-запрос, который вставит данные из существующейemployeesОпределение базы данных таблицы создает пустую таблицуemployees_clone.
employees_clone employees;
Теперь выполните другой SQL-запрос, который вставит все записи из таблицы employee в таблицу employees_clone. После выполнения этого запроса у вас будет таблица employee_clone, которая является точной копией или дубликатом таблицы employee.
employees_clone * employees;
Но если вы хотите создать таблицу из другой таблицы, не учитывая никаких свойств столбцов и индексов, вы можете использовать простую строку:
CREATE TABLE new_table SELECT * FROM original_table;
Следующие команды создаютemployeesПростая копия таблицы.
employees_dummy * employees;
Совет:Использование синтаксиса CREATE TABLE ... SELECT позволяет быстро создать простую копию таблицы, которая содержит только структуру и данные исходной таблицы.