У меня есть таблица на сервере MySQL, и я хотел бы получить SQL, который воссоздает таблицу.
Как получить запрос на воссоздание таблицы SQL?
У меня есть таблица на сервере 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, используйте mysqldump, как рекомендует liamgriffiths.
Если вы используете phpMyAdmin, выберите таблицу и щелкните вкладку «Экспорт». Один из типов вывода - SQL. При выборе этого варианта будет сгенерирован сценарий SQL для создания таблицы и вставки всех данных, которые в настоящее время находятся в таблице. Убедитесь, что в разделе данных дампа выбрано «Структура и данные».
mysqldump [ОПЦИИ] база данных [таблицы]> файл-резервной копии.sql
Если вы не укажете никаких таблиц или не используете --databases или --all-databases, вся база данных будет выгружена.
Вы можете получить список опций, поддерживаемых вашей версией mysqldump, выполнив mysqldump --help.
Обратите внимание, что если вы запустите mysqldump без --quick или --opt, mysqldump загрузит весь набор результатов в память перед сбросом результата. Вероятно, это будет проблемой, если вы выгружаете большую базу данных.
Если у вас есть доступ к phpMyAdmin, вы можете получить этот код на вкладке «Экспорт» в нужной вам таблице.
Выберите SQL, затем убедитесь, что вы экспортируете «Структуру» (код «СОЗДАТЬ таблицу») и «Данные» (код «ВСТАВИТЬ») с типом экспорта, установленным на «ВСТАВИТЬ».
Я бы пошел с предложением @liamgriffiths mysqldump
, но вы также можете попробовать create table <new-table-name> like <old-table-name>
, а затем insert into <new-table-name> select * from <old-table-name>
mysqldump -u yourlogin -p your_database your_tablename
. Введите пароль, после чего будет показан оператор создания таблицы. Если вы хотите получить его из графического интерфейса phpmyadmin, выполните запрос:show create table your_tablename
- person Eric Leschinski   schedule 22.11.2013