MySQL как скопировать таблицу
Скопировать таблицу в БД MySQL можно при помощи PhpMyAdmin в меню операции - копировать.. в окошке вводим имя новой таблицы (при необходимости можно выбрать другую базу - текущий пользователь должен иметь доступ к этой базе с привилегией создания таблиц)
Скопировать таблицу в MySQL без PhpMyAdmin, можно простым запросом:
К примеру, чтобы скопировать таблицу posts из базы данных mydb (если обе таблицы находятся в одной базе, то использовать mydb. не обязательно) в таблицу posts_bak (структуру и все записи)
CREATE TABLE posts_bak LIKE mydb.posts;
INSERT posts_bak SELECT * FROM mydb.posts;
CREATE TABLE - создаёт таблицу.. все поля при этом берутся из указанной после LIKE таблицы - в данном случае копируем таблицу posts, которая в базе данных с именем mydb.
INSERT SELECT - вставляет все записи, выбранные из другой таблицы. INSERT корректно работает без INTO - это не опечатка.
UPD В MySQL можно скопировать таблицу одним запросом
CREATE TABLE `posts_bak` SELECT * FROM `mydb`.`posts`;
Однако, этот способ только копирует данные.. при этом внешние ключи, и autoincrement может не скопироваться. Строго говоря, наиболее правильный способ копирования таблицы - использование mysqldump, замена имени таблицы на новое и последующий импорт полученного файла. Однако, для сохранения резервной копии с возможностью быстрого отката данных, вариант копирования одной строкой вполне приемлемый
Метки: mysql