Как получить скрипт создания таблицы в MySQL Workbench? - PullRequest
66 голосов
/ 12 марта 2010

Я возвращаюсь к MySQL GUI Tools 'MySQL Query Browser, так как не могу найти ярлык для получения сценария создания таблицы в MySQL Workbench.

Ответы [ 13 ]

110 голосов
/ 19 марта 2010

Я не могу найти такой вариант, по крайней мере, в редакции сообщества.

Полагаю, это соответствует функции Reverse Engineering , которая, к сожалению, доступна только в коммерческой редакции (цитирование) :

обратный инжиниринг базы данных непосредственно с сервера MySQL применяется на коммерческие версии MySQL Только верстак .


Тем не менее, вы можете использовать обычный SQL для получения инструкции create table, которая позволит вам создать таблицу.

Например, следующий запрос:

show create table url_alias;

при выполнении в базе данных drupal выдаст при использовании права click > copy field content на результат:

'CREATE TABLE `url_alias` (
  `pid` int(10) unsigned NOT NULL auto_increment,
  `src` varchar(128) NOT NULL default '''',
  `dst` varchar(128) NOT NULL default '''',
  `language` varchar(12) NOT NULL default '''',
  PRIMARY KEY  (`pid`),
  UNIQUE KEY `dst_language` (`dst`,`language`),
  KEY `src_language` (`src`,`language`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8'

К сожалению (снова) , MySQL Workbench добавляет некоторые цитаты везде при копировании таким образом: - (


РЕДАКТИРОВАТЬ: Используя MySQL 8.0, есть возможность направить click > copy field (unquoted) вправо на результат, чтобы получить желаемый результат без кавычек.


В конце концов, простейшим решением, за исключением того, чтобы остаться с MySQL Query Browser, скорее всего будет подключиться к базе данных, используя клиент командной строки, и выполнить оттуда запрос show create table:

mysql> show create table url_alias\G
*************************** 1. row ***************************
       Table: url_alias
Create Table: CREATE TABLE `url_alias` (
  `pid` int(10) unsigned NOT NULL auto_increment,
  `src` varchar(128) NOT NULL default '',
  `dst` varchar(128) NOT NULL default '',
  `language` varchar(12) NOT NULL default '',
  PRIMARY KEY  (`pid`),
  UNIQUE KEY `dst_language` (`dst`,`language`),
  KEY `src_language` (`src`,`language`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8
1 row in set (0.00 sec)

Получение " правильной части " вывода проще, там: нет кавычек для удаления.



И, просто для полноты, вы также можете использовать mysqldump, чтобы получить структуру вашего стола:

mysqldump --no-data --user=USERNAME --password=PASSWORD --host=HOST DATABASE_NAME TABLE_NAME

Используя переключатель --no-data, вы получите только структуру - в середине некоторых настроек режима и всего этого .

45 голосов
/ 19 мая 2011

Чтобы получить сценарий создания отдельной таблицы, просто щелкните правой кнопкой мыши имя таблицы и выберите «Копировать в буфер обмена»> «Создать оператор».

Чтобы включить параметр «Файл»> «Вперед», сценарий SQL_CREATE .. и получить сценарий создания для всей базы данных:

  1. База данных> Обратный инженер (Ctrl + R)
  2. Выполните шаги для создания диаграммы EER
  3. При просмотре диаграммы EER выберите Файл> Сценарий прямого проектирования SQL_CREATE ... (Ctrl + Shift + G)
19 голосов
/ 14 июля 2010

Щелкните правой кнопкой мыши по соответствующей таблице и выберите любой из:

  • Копировать в буфер обмена> Создать заявление
  • Отправить в редактор SQL> Создать оператор

Кажется, это работает для меня.

5 голосов
/ 08 декабря 2012

Он расположен в администрировании сервера, а не в разработке SQL.

  • На главном экране выберите экземпляр сервера базы данных, на котором находится ваша база данных, в разделе администрирования сервера справа.
  • В меню справа выберите Экспорт данных .
  • Выберите базу данных, которую вы хотите экспортировать, и укажите местоположение.
  • Нажмите, чтобы начать экспорт.
4 голосов
/ 19 марта 2010

показать создать таблицу

3 голосов
/ 13 июня 2012

Я пришел сюда в поисках ответа на тот же вопрос. Но я нашел гораздо лучший ответ сам.

In the tables list, if you right-click on the table name there is a suite of CRUD script generation options in "Send to SQL Editor". You can select multiple tables and take the same approach too.

Моя версия MySQL Workbench: 5.2.37

3 голосов
/ 12 марта 2010

Не уверен, что я полностью понял вашу проблему, но если речь идет только о создании сценариев экспорта, вам следует направить инженера в сценарий SQL - Ctrl + Shift + G или Файл -> Экспорт -> первый вариант.

1 голос
/ 29 августа 2017

Решение для MySQL Workbench 6.3E

  • На левой панели щелкните правой кнопкой мыши по таблице и выберите «Инспектор таблиц»
  • На центральной панели щелкните метку DDL
1 голос
/ 19 ноября 2015

1 использовать команду

show create table test.location

enter image description here

  1. щелкните правой кнопкой мыши по выбранной строке и выберите Открыть значение в средстве просмотра

  2. выберите вкладку Текст enter image description here

1 голос
/ 11 апреля 2012

Не уверен, что это все еще проблема, но для меня в 5.2.35CE можно получить сценарии создания по:

  1. База данных -> Обратный инженер

  2. Под сохраненным подключением выберите базу данных

  3. Несколько раз нажмите «Далее», выберите схему, которую вы хотите перепроектировать, и дайте инструменту работать

  4. Вы получите представление «EER Diagram» со всей схемой БД. Если вы щелкнете правой кнопкой мыши по нужной вам таблице и выберете «Копировать SQL в буфер обмена», я думаю, вы получите то, что вам нужно.

Надеюсь, это поможет кому-то еще, кому это нужно.

...