我回滚到MySQL GUI Tools的MySQL查询浏览器,因为我找不到在MySQL Workbench中获取表创建脚本的快捷方式。
答案 0 :(得分:109)
我也找不到这样的选择,至少在社区版中是这样。
我认为这与 Reverse Engineering 功能相对应,不幸的是,该功能仅在商业版(引用)中提供:
逆向工程数据库 直接来自MySQL服务器适用 到商业版的MySQL 仅限工作台。
不过,您仍然可以使用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在以这种方式复制时会随处添加一些引号: - (
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
开关,您只能获得结构 - 在某些模式设置的中间以及所有。
答案 1 :(得分:45)
要获取单个表的创建脚本,只需右键单击表名,然后单击“复制到剪贴板”>创建声明。
启用文件>正向工程SQL_CREATE脚本..选项并获取整个数据库的创建脚本:
答案 2 :(得分:19)
右键单击相关表格,然后选择以下任一项:
这似乎对我有用。
答案 3 :(得分:5)
它位于服务器管理中,而不是SQL开发中。
答案 4 :(得分:4)
show create table
答案 5 :(得分:3)
不确定我是否完全理解您的问题,但如果只是创建导出脚本,则应将工程师转发到SQL脚本 - Ctrl + Shift + G或文件 - >出口 - >第一个选择。
答案 6 :(得分:3)
我来到这里寻找同一个问题的答案。但我自己找到了一个更好的答案。
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
答案 7 :(得分:1)
在“模型概述”或“图表”中右键单击该表,您将看到以下选项:“复制插入到剪贴板”或“将SQL复制到剪贴板”
答案 8 :(得分:1)
不确定这是否仍然存在问题,但对于5.2.35CE中的我来说,可以通过以下方式获取创建脚本:
数据库 - >逆向工程师
在存储的连接下,选择您的数据库
点击“下一步”几次,选择要进行逆向工程的架构,让工具正常工作
您将获得包含所有数据库架构的“EER Diagram”视图。如果您右键单击您关心的表并选择“将SQL复制到剪贴板”,我认为您将拥有所需的内容。
希望这有助于其他需要它的人。
答案 9 :(得分:1)
答案 10 :(得分:1)
MySQL Workbench 6.3E的解决方案
答案 11 :(得分:0)
您可以使用MySQL Proxy及其scripting system在终端中实时查看SQL查询。
答案 12 :(得分:0)
或选中https://dev.mysql.com/doc/workbench/en/wb-admin-export-import-management.html