Как получить сценарий создания таблицы в MySQL Workbench?

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

68
задан OMG Ponies 6 May 2011 в 17:52
поделиться

4 ответа

Я тоже не могу найти такой опции, по крайней мере в редакции Community.

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

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


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

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

show create table url_alias;

при выполнении на базе данных drupal даст, при использовании правого клика > 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 добавляет некоторые кавычки везде при копировании таким способом :-(


EDIT: Используя MySQL 8. 0, есть возможность кликнуть правой кнопкой мыши > скопировать поле (без кавычек) на результат, чтобы получить нужный результат без кавычек.


В итоге, самым простым решением, за исключением использования 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, вы получите только структуру -- посреди некоторых настроек режима и всего такого.

117
ответ дан 24 November 2019 в 14:02
поделиться

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

3
ответ дан 24 November 2019 в 14:02
поделиться

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

4
ответ дан 24 November 2019 в 14:02
поделиться

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

  • Copy to Clipboard > Create Statement
  • Send to SQL Editor > Create Statement

У меня это работает.

21
ответ дан 24 November 2019 в 14:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: