如何在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脚本:

  1. 数据库>反向工程(Ctrl + R)
  2. 通过这些步骤来创buildEER图
  3. 查看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脚本:

  1. 数据库 – >逆向工程

  2. 在存储的连接下,select您的数据库

  3. 点几下“下一步”,select你想要反向工程的模式,然后让工具工作

  4. 你会得到一个“EER图”视图与所有数据库的架构。 如果你右键点击你关心的表,select“复制SQL到剪贴板”我想你会有你需要的。

希望这有助于其他人需要它。

1使用命令

 show create table test.location 

在这里输入图像说明

  1. 右键单击所选行并select“ 在查看器中打开值”

  2. select标签文本 在这里输入图像说明

或者只需下载DBTools DBManager。 http://www.dbtools.com.br

它提供了很多function来pipe理您的数据库,包括倾销您的数据库与各种选项。

U可以使用MySQL Proxy及其脚本系统在terminal中实时查看SQL查询。

MySQL Workbench 6.3E的解决scheme

  • 在左侧面板上,右键单击您的表格并select“表格检查器”
  • 在中心面板上,单击DDL标签