Как получить скрипт создания таблицы в MySQL Workbench?
-
19-09-2019 - |
Вопрос
Я возвращаюсь к MySQL Query Browser от MySQL GUI Tools, поскольку не могу найти ярлык для получения сценария создания таблицы в MySQL Workbench.
Решение
Я тоже не могу найти такой вариант, по крайней мере, в версии Сообщества.
Я полагаю, что это соответствует Обратный Инжиниринг функция, которая, к сожалению, доступна только в коммерческой версии (цитирую) :
обратный инжиниринг базы данных непосредственно с сервера MySQL применяется к коммерческим версиям MySQL Только Workbench.
Тем не менее, вы можете использовать plain-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, скорее всего, будет подключение к базе данных с помощью клиента командной строки и выполнение 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
переключитесь, вы получите только структуру -- в середине некоторых настроек режима и всего такого.
Другие советы
Чтобы получить сценарий создания отдельной таблицы, просто щелкните правой кнопкой мыши на имени таблицы и выберите Копировать в буфер обмена > Создать инструкцию.
Чтобы включить скрипт File > Forward Engineering SQL_CREATE..опция и получить сценарий создания для всей вашей базы данных :
- База данных> Обратное проектирование (Ctrl+ R)
- Выполните действия по созданию диаграммы EER
- При просмотре диаграммы EER щелкните Файл > Перенаправить инженерный сценарий SQL_CREATE...(Ctrl+Shift+G)
Щелкните правой кнопкой мыши на соответствующей таблице и выберите любой из:
- Скопировать в буфер обмена > Создать инструкцию
- Отправить в редактор SQL > Создать инструкцию
Кажется, у меня это работает.
Он находится в области администрирования сервера, а не в области разработки SQL.
- На начальном экране выберите экземпляр сервера базы данных, на котором расположена ваша база данных, в разделе администрирования сервера в крайнем правом углу.
- В меню справа выберите Экспорт данных.
- Выберите базу данных, которую вы хотите экспортировать, и выберите местоположение.
- Нажмите начать экспорт.
показать созданную таблицу
Не уверен, что я полностью понял вашу проблему, но если речь идет только о создании сценариев экспорта, вам следует перенаправить инженера в SQL script - Ctrl + Shift + G или File -> Export -> first option.
Я пришел сюда в поисках ответа на тот же вопрос.Но я сам нашел гораздо лучший ответ.
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
В разделе "обзор модели" или "диаграмма" просто щелкните правой кнопкой мыши по таблице, и у вас появятся следующие параметры:"Скопировать вставку в буфер обмена" ИЛИ "Скопировать SQL в буфер обмена"
Не уверен, что это все еще проблема, но для меня в версии 5.2.35CE можно получить скрипты создания с помощью:
База данных -> Обратный инжиниринг
В разделе сохраненное соединение выберите свою базу данных
Нажмите "Далее" несколько раз, выберите, какую схему вы хотите перепроектировать, и дайте инструменту поработать
Вы получите представление "EER Diagram" со всей схемой базы данных.Если вы щелкнете правой кнопкой мыши по нужной вам таблице и выберете "Копировать SQL в буфер обмена", я думаю, у вас будет то, что вам нужно.
Надеюсь, это поможет кому-то еще, кто в этом нуждается.
Решение для MySQL Workbench 6.3E
- На левой панели щелкните правой кнопкой мыши вашу таблицу и выберите "Инспектор таблиц".
- На центральной панели щелкните ярлык DDL
Вы можете использовать Прокси - сервер MySQL и его скриптовая система для просмотра SQL-запросов в режиме реального времени в терминале.
- Откройте MySQL Workbench (6.3 CE)
- В "Навигаторе" выберите "Управление".
- Затем выберите "Экспорт данных" (здесь выберите таблицу, сценарий создания которой вы хотите экспортировать).
- В выпадающем списке выберите "Структура дампа и данные".
- Установите флажок "Включить схему создания".
- Нажмите кнопку "Начать экспорт" После завершения экспорта в вашей системе отобразится местоположение, в которое помещен экспортированный файл.Перейдите в папку и откройте экспортированный файл, чтобы найти сценарий создания таблицы.
Или Проверить https://dev.mysql.com/doc/workbench/en/wb-admin-export-import-management.html