我也找不到這樣的選擇,至少在社群版。
我想這對應于Reverse Engineering功能,不幸的是,隻有在商業版(引用)可用:
reverse engineering a database
directly from a MySQL server applies
to commercial versions of MySQL
Workbench only.
盡管如此,您可以使用plain-SQL來擷取create table指令,這将允許您建立一個表。
例如,以下查詢:
show create table url_alias;
當在drupal資料庫上執行時,會給出,當使用右鍵單擊>複制字段内容的結果:
'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查詢浏覽器之外,最簡單的解決方案很可能是使用指令行用戶端連接配接到資料庫,并執行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開關,你隻會得到結構 – 在一些模式設定和所有的中間。