Ответ 1
SHOW CREATE TABLE `thetable`;
Также любой способ резервного копирования, например mysqldump
, должен предоставить вам возможность сохранять структуру, а также данные.
У меня есть довольно большая и сложная таблица в базе данных MySQL, которая была бы больна, чтобы создать запрос для ручного воссоздания, если что-то пошло не так.
Есть ли какой-нибудь способ получить MySQL или какой-либо другой инструмент / script, который я могу использовать для автоматического создания запроса, который воссоздает структуру таблицы?
В идеале, если вы предложили инструмент / script, это было бы для Linux
SHOW CREATE TABLE `thetable`;
Также любой способ резервного копирования, например mysqldump
, должен предоставить вам возможность сохранять структуру, а также данные.
из http://dev.mysql.com/doc/refman/5.0/en/create-table.html
чтобы создать пустую таблицу на основе определения другой таблицы, включая любые атрибуты столбца и индексы, определенные в исходной таблице:
CREATE TABLE new_tbl LIKE orig_tbl;
Вы можете использовать инструмент mysqldump для экспорта структуры и данных таблицы mysql.
выполните следующие запросы:
Если вы хотите скопировать структуру таблицы с помощью первичного ключа, внешнего ключа и сдерживает данные...
CREATE TABLE newtableName LIKE oldTableName;
INSERT newtableName SELECT * FROM oldTableName;
вы можете экспортировать структуру таблицы из phpmyadmin в файл sql...
SHOW CREATE TABLE `table_name`;
Я определенно согласен с другими людьми:
с mysqldump вы получаете дамп вашей таблицы (опция --tables), допустим, dumpMyTable.sql
затем, если вы хотите загрузить этот дамп в новую схему:
mysql -uuser_name -ppassword MyNewSchema < dumpMyTable.sql
если вы хотите загрузить его в той же схеме, но в новой таблице вам нужно будет отредактировать файл dumpMyTable.sql и вручную изменить имя таблицы. Если файл дампа очень велик, я рекомендую использовать команду "sed"
Вы можете использовать SqlYog для этой цели. Решение находится всего в двух кликах от этого инструмента. Для этой цели вы можете использовать меню DataBase. Вы также можете скопировать только схему или все данные и оба на разные серверы.
CREATE TABLE new_table AS SELECT * FROM old_table WHERE 1 =0