如何在MySQL Workbench中获取表创build脚本?
我回滚到MySQL GUI工具的MySQL查询浏览器,因为我找不到在MySQL Workbench中获取表创build脚本的快捷方式。
至less在社区版中,我也找不到这样的select。
我想这对应于逆向工程function,不幸的是,它只能在商业版(引用)中使用 :
直接从MySQL服务器反向工程数据库仅适用于商业版本的MySQL Workbench 。
不过,您可以使用plain-SQL来获取create table
指令,这将允许您创build一个表。
例如,下面的查询:
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 Query Browser,最简单的解决scheme很可能是使用命令行客户端连接到数据库,然后从那里执行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
开关,你只能得到结构– 在一些模式设置和所有的中间 。
要获取单个表格的创build脚本,只需右键单击表格名称,然后单击复制到剪贴板>创build语句。
要启用文件>转发工程SQL_CREATE脚本..选项并获取您的整个数据库的创build脚本:
- 数据库>反向工程(Ctrl + R)
- 通过这些步骤来创buildEER图
- 查看EER图时,单击文件>转发工程SQL_CREATE脚本…(Ctrl + Shift + G)
右键单击相关表并select以下任一项:
- 复制到剪贴板>创build语句
- 发送到SQL编辑器>创build语句
这似乎为我工作。
它位于服务器pipe理而不是SQL开发中。
- 在主屏幕上,从最右侧的服务器pipe理部分中select数据库所在的数据库服务器实例。
- 从右侧的菜单中select数据导出 。
- select要导出的数据库并select一个位置。
- 点击开始导出。
显示创build表
不知道如果我完全理解你的问题,但如果它只是创build导出脚本,你应该转发工程师到SQL脚本 – Ctrl + Shift + G或文件 – >导出 – >第一个选项。
我来到这里寻找同样问题的答案。 但是我自己find了更好的答案。
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工作台版本:5.2.37
在“模型概述”或“图表”中,右键单击表格,然后select“复制插入剪贴板”或“将SQL复制到剪贴板”
不知道这是否仍然是一个问题,但对于我在5.2.35CE中可以通过以下方式获得创build脚本:
-
数据库 – >逆向工程
-
在存储的连接下,select您的数据库
-
点几下“下一步”,select你想要反向工程的模式,然后让工具工作
-
你会得到一个“EER图”视图与所有数据库的架构。 如果你右键点击你关心的表,select“复制SQL到剪贴板”我想你会有你需要的。
希望这有助于其他人需要它。
1使用命令
show create table test.location
-
右键单击所选行并select“ 在查看器中打开值”
-
select标签文本
或者只需下载DBTools DBManager。 http://www.dbtools.com.br
它提供了很多function来pipe理您的数据库,包括倾销您的数据库与各种选项。
U可以使用MySQL Proxy及其脚本系统在terminal中实时查看SQL查询。
MySQL Workbench 6.3E的解决scheme
- 在左侧面板上,右键单击您的表格并select“表格检查器”
- 在中心面板上,单击DDL标签