Возможный дубликат:
как сделать резервную копию одной таблицы в базе данных mysql?
У меня есть таблица на сервере MySQL и хотелось бы получить SQL, который будет воссоздавать таблицу.
Как мне получить запрос на воссоздание таблицы SQL?
Возможный дубликат:
как сделать резервную копию одной таблицы в базе данных mysql?
У меня есть таблица на сервере MySQL и хотелось бы получить SQL, который будет воссоздавать таблицу.
Как мне получить запрос на воссоздание таблицы SQL?
mysqldump может это сделать - http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html
Вы можете использовать его следующим образом:
mysqldump [databasename] [tablename] > mysqltablesql.sql
MySQL поддерживает SHOW CREATE TABLE
, чтобы вернуть SQL, который использовался для создания таблицы.
Из своих документов:
mysql> SHOW CREATE TABLE t;
CREATE TABLE t (
id INT(11) default NULL auto_increment,
s char(60) default NULL,
PRIMARY KEY (id)
) ENGINE=MyISAM
Это может быть полезно, если у вас есть только соединение с БД по сравнению с CLI на сервере. Если у вас CLI, используйте mysqldump, как рекомендует liamgriffiths.
Если вы используете phpMyAdmin, выберите таблицу и перейдите на вкладку "Экспорт". Одним из типов вывода является SQL. Выбрав это, вы создадите SQL script, чтобы создать таблицу и вставить все данные, которые в настоящее время находятся в таблице. Убедитесь, что в параметре данных дампа выберите "Структура и данные"
база данных mysqldump [OPTIONS] [таблицы] > backup-file.sql
Если вы не даете никаких таблиц или не используете -databases или -all-databases, вся база данных будет сброшена.
Вы можете получить список опций, поддерживаемых вашей поддержкой mysqldump, выполнив mysqldump --help.
Обратите внимание, что если вы запустите mysqldump без -quick или -opt, mysqldump загрузит весь набор результатов в память перед тем, как сбросить результат. Вероятно, это будет проблемой, если вы сбрасываете большую базу данных.
Если у вас есть доступ к phpMyAdmin, вы можете получить этот код через вкладку "Экспорт" в требуемой таблице.
Выберите SQL, затем убедитесь, что вы экспортируете "Структура" (код "CREATE table" ) и "Данные" (код "INSERT" ) с типом экспорта, установленным в "INSERT".
Я бы пошел с предложением @liamgriffiths mysqldump
, но вы также можете попробовать create table <new-table-name> like <old-table-name>
, а затем insert into <new-table-name> select * from <old-table-name>