文档章节

mysql workbench如何把已有的数据库导出ER模型

o
 osc_h3robkrt
发布于 2018/02/28 10:24
字数 2651
阅读 17
收藏 0

行业解决方案、产品招募中!想赚钱就来传!>>>

<div id="cnblogs_post_body" class="blogpost-body"><p>mysql workbench的特长是创建表结构的,然后在结构图中,圈圈点点,很容易就利用可视化方式把数据库建好,然后再导入到数据库服务器中,这种办法很效率。但是有时我们有一个需求,事先没有建表结构模型,而是利用别的数据库软件建的数据库,并且我们还想利用workbench的表结构模型在上面修改,此时,如何所已有的数据库导出为模型表结构就是焦点了!</p> <div>可以这样:</div> <div> <div> <div><a href="http://photo.blog.sina.com.cn/showpic.html#blogid=0ee72b370102waef&amp;url=http://album.sina.com.cn/pic/000gV6svzy6WKXrhTxy44" target="_blank"><img title="mysql&nbsp;<wbr>workbench如何把已有的数据库导出ER模型" src="http://s5.sinaimg.cn/mw690/000gV6svzy6WKXrhTxy44&amp;690" alt="mysql&nbsp;<wbr>workbench如何把已有的数据库导出ER模型" name="image_operate_88791446687291906" width="690" height="644"></a><br><br><a href="http://photo.blog.sina.com.cn/showpic.html#blogid=0ee72b370102waef&amp;url=http://album.sina.com.cn/pic/000gV6svzy6WKXrwuZu2c" target="_blank"><img title="mysql&nbsp;<wbr>workbench如何把已有的数据库导出ER模型" src="http://s13.sinaimg.cn/mw690/000gV6svzy6WKXrwuZu2c&amp;690" alt="mysql&nbsp;<wbr>workbench如何把已有的数据库导出ER模型" name="image_operate_82231446687293617" width="690" height="732"></a><br><br><a href="http://photo.blog.sina.com.cn/showpic.html#blogid=0ee72b370102waef&amp;url=http://album.sina.com.cn/pic/000gV6svzy6WKXrAeiz67" target="_blank"><img title="mysql&nbsp;<wbr>workbench如何把已有的数据库导出ER模型" src="http://s8.sinaimg.cn/mw690/000gV6svzy6WKXrAeiz67&amp;690" alt="mysql&nbsp;<wbr>workbench如何把已有的数据库导出ER模型" name="image_operate_36901446687294830" width="690" height="614"></a><br><br><a href="http://photo.blog.sina.com.cn/showpic.html#blogid=0ee72b370102waef&amp;url=http://album.sina.com.cn/pic/000gV6svzy6WKXrChs3af" target="_blank"><img title="mysql&nbsp;<wbr>workbench如何把已有的数据库导出ER模型" src="http://s16.sinaimg.cn/mw690/000gV6svzy6WKXrChs3af&amp;690" alt="mysql&nbsp;<wbr>workbench如何把已有的数据库导出ER模型" name="image_operate_29611446687295693" width="690" height="689"></a><br><br><a href="http://photo.blog.sina.com.cn/showpic.html#blogid=0ee72b370102waef&amp;url=http://album.sina.com.cn/pic/000gV6svzy6WKXrDLMw14" target="_blank"><img title="mysql&nbsp;<wbr>workbench如何把已有的数据库导出ER模型" src="http://s5.sinaimg.cn/mw690/000gV6svzy6WKXrDLMw14&amp;690" alt="mysql&nbsp;<wbr>workbench如何把已有的数据库导出ER模型" name="image_operate_26211446687296234" width="690" height="650"></a><br><br><a href="http://photo.blog.sina.com.cn/showpic.html#blogid=0ee72b370102waef&amp;url=http://album.sina.com.cn/pic/000gV6svzy6WKXrG0dgb6" target="_blank"><img title="mysql&nbsp;<wbr>workbench如何把已有的数据库导出ER模型" src="http://s7.sinaimg.cn/mw690/000gV6svzy6WKXrG0dgb6&amp;690" alt="mysql&nbsp;<wbr>workbench如何把已有的数据库导出ER模型" name="image_operate_53821446687297017" width="690" height="572"></a><br><br></div> <div><a href="http://photo.blog.sina.com.cn/showpic.html#blogid=0ee72b370102waef&amp;url=http://album.sina.com.cn/pic/000gV6svzy6WKZ4lmLn49" target="_blank"><img title="mysql&nbsp;<wbr>workbench如何把已有的数据库导出ER模型" src="http://s10.sinaimg.cn/mw690/000gV6svzy6WKZ4lmLn49&amp;690" alt="mysql&nbsp;<wbr>workbench如何把已有的数据库导出ER模型" name="image_operate_76801446688693396" width="593" height="698"></a></div> <div>如何导入数据库呢</div> <div><a href="http://photo.blog.sina.com.cn/showpic.html#blogid=0ee72b370102waef&amp;url=http://album.sina.com.cn/pic/000gV6svzy6WL3nv4ve78" target="_blank"><img title="mysql&nbsp;<wbr>workbench如何把已有的数据库导出ER模型" src="http://s9.sinaimg.cn/mw690/000gV6svzy6WL3nv4ve78&amp;690" alt="mysql&nbsp;<wbr>workbench如何把已有的数据库导出ER模型" name="image_operate_40311446773847234" width="690" height="664"></a><br><br>有很多人找不到升级后的workbench中浏览数据功能,就以为它没有,是大错特错的,下图就是</div> <div><a href="http://photo.blog.sina.com.cn/showpic.html#blogid=0ee72b370102waef&amp;url=http://album.sina.com.cn/pic/000gV6svzy6WMyymzkEbc" target="_blank"><img title="mysql&nbsp;<wbr>workbench如何把已有的数据库导出ER模型" src="http://s13.sinaimg.cn/mw690/000gV6svzy6WMyymzkEbc&amp;690" alt="mysql&nbsp;<wbr>workbench如何把已有的数据库导出ER模型" name="image_operate_44461446773866627"></a><br><br></div> <div><a href="http://photo.blog.sina.com.cn/showpic.html#blogid=0ee72b370102waef&amp;url=http://album.sina.com.cn/pic/000gV6svzy6WMT7pASQa0" target="_blank"><img title="mysql&nbsp;<wbr>workbench如何把已有的数据库导出ER模型" src="http://s1.sinaimg.cn/mw690/000gV6svzy6WMT7pASQa0&amp;690" alt="mysql&nbsp;<wbr>workbench如何把已有的数据库导出ER模型" name="image_operate_58641446791837022" width="690" height="632"></a></div> <div>下面是写sql语句<br><br></div> <div><a href="http://photo.blog.sina.com.cn/showpic.html#blogid=0ee72b370102waef&amp;url=http://album.sina.com.cn/pic/000gV6svzy6WMCU1knob2" target="_blank"><img title="mysql&nbsp;<wbr>workbench如何把已有的数据库导出ER模型" src="http://s3.sinaimg.cn/mw690/000gV6svzy6WMCU1knob2&amp;690" alt="mysql&nbsp;<wbr>workbench如何把已有的数据库导出ER模型" name="image_operate_41181446777667408"></a><br>导入数据时的用法</div> <div><a href="http://photo.blog.sina.com.cn/showpic.html#blogid=0ee72b370102waef&amp;url=http://album.sina.com.cn/pic/000gV6svzy6WMSSCfpCe0" target="_blank"><img title="mysql&nbsp;<wbr>workbench如何把已有的数据库导出ER模型" src="http://s1.sinaimg.cn/mw690/000gV6svzy6WMSSCfpCe0&amp;690" alt="mysql&nbsp;<wbr>workbench如何把已有的数据库导出ER模型" name="image_operate_64241446791628207" width="657" height="402"></a><br><br><a href="http://photo.blog.sina.com.cn/showpic.html#blogid=0ee72b370102waef&amp;url=http://album.sina.com.cn/pic/000gV6svzy6WMSSFB2k7c" target="_blank"><img title="mysql&nbsp;<wbr>workbench如何把已有的数据库导出ER模型" src="http://s13.sinaimg.cn/mw690/000gV6svzy6WMSSFB2k7c&amp;690" alt="mysql&nbsp;<wbr>workbench如何把已有的数据库导出ER模型" name="image_operate_91791446791628569" width="690" height="324"></a><br><br>如果建完表后,想修改某一字段怎么办?见图</div> <div><a href="http://photo.blog.sina.com.cn/showpic.html#blogid=0ee72b370102waef&amp;url=http://album.sina.com.cn/pic/000gV6svzy6WNkIv51fe9" target="_blank"><img title="mysql&nbsp;<wbr>workbench如何把已有的数据库导出ER模型" src="http://s10.sinaimg.cn/mw690/000gV6svzy6WNkIv51fe9&amp;690" alt="mysql&nbsp;<wbr>workbench如何把已有的数据库导出ER模型" name="image_operate_80901447128388974" width="690" height="549"></a><br><br><br>另类导入:说它另类导入是由于当时基于当初导出sql语句时而说的,一般导出有两种,1直接把数据库名都导出来了,然后不用创建数据库直接导入sql文件即行;2只导出了数据,没有导出数据库名。这个另类就指的此种情况。见下图</div> <div><a href="http://photo.blog.sina.com.cn/showpic.html#blogid=0ee72b370102waef&amp;url=http://album.sina.com.cn/pic/000gV6svzy6WT6kIYXY56" target="_blank"><img title="mysql&nbsp;<wbr>workbench如何把已有的数据库导出ER模型" src="http://s7.sinaimg.cn/mw690/000gV6svzy6WT6kIYXY56&amp;690" alt="mysql&nbsp;<wbr>workbench如何把已有的数据库导出ER模型" name="image_operate_61251447128400125" width="690" height="554"></a><br>其中有一个按键很隐蔽,如下图</div>

</div> <div><a href="http://photo.blog.sina.com.cn/showpic.html#blogid=0ee72b370102waef&amp;url=http://album.sina.com.cn/pic/000gV6svzy6X2Q7gl0Y00" target="_blank"><img title="mysql&nbsp;<wbr>workbench如何把已有的数据库导出ER模型" src="http://s1.sinaimg.cn/mw690/000gV6svzy6X2Q7gl0Y00&amp;690" alt="mysql&nbsp;<wbr>workbench如何把已有的数据库导出ER模型" name="image_operate_1401447656941049" width="690" height="524"></a><br>大家知道主键是自动添加索引的,但是不是主键的怎么办,当然也可以加的,请看下图</div> <div><a href="http://photo.blog.sina.com.cn/showpic.html#blogid=0ee72b370102waef&amp;url=http://album.sina.com.cn/pic/000gV6svzy6X2RiLMzA66" target="_blank"><img title="mysql&nbsp;<wbr>workbench如何把已有的数据库导出ER模型" src="http://s7.sinaimg.cn/mw690/000gV6svzy6X2RiLMzA66&amp;690" alt="mysql&nbsp;<wbr>workbench如何把已有的数据库导出ER模型" name="image_operate_3291447657114680" width="690" height="694"></a><br>点击表中的index,就可以看到手动加的索引了,如下图</div> <div><a href="http://photo.blog.sina.com.cn/showpic.html#blogid=0ee72b370102waef&amp;url=http://album.sina.com.cn/pic/000gV6svzy6X2Ruu3yFc1" target="_blank"><img title="mysql&nbsp;<wbr>workbench如何把已有的数据库导出ER模型" src="http://s2.sinaimg.cn/mw690/000gV6svzy6X2Ruu3yFc1&amp;690" alt="mysql&nbsp;<wbr>workbench如何把已有的数据库导出ER模型" name="image_operate_26711447657514487" width="690" height="820"></a></div> <div>如果字段要设默认值怎么办,如下图</div> <div><a href="http://photo.blog.sina.com.cn/showpic.html#blogid=0ee72b370102waef&amp;url=http://album.sina.com.cn/pic/000gV6svzy6X2RXcjEmc2" target="_blank"><img title="mysql&nbsp;<wbr>workbench如何把已有的数据库导出ER模型" src="http://s3.sinaimg.cn/mw690/000gV6svzy6X2RXcjEmc2&amp;690" alt="mysql&nbsp;<wbr>workbench如何把已有的数据库导出ER模型" name="image_operate_7461447657808167" width="690" height="740"></a><br>下面是有点另类的用法,即枚举类型,一般刚入门的同学很少用到吧</div> <div><a href="http://photo.blog.sina.com.cn/showpic.html#blogid=0ee72b370102waef&amp;url=http://album.sina.com.cn/pic/000gV6svzy6X2Si4VH896" target="_blank"><img title="mysql&nbsp;<wbr>workbench如何把已有的数据库导出ER模型" src="http://s7.sinaimg.cn/mw690/000gV6svzy6X2Si4VH896&amp;690" alt="mysql&nbsp;<wbr>workbench如何把已有的数据库导出ER模型" name="image_operate_2761447657818911" width="690" height="632"></a><br><a href="http://photo.blog.sina.com.cn/showpic.html#blogid=0ee72b370102waef&amp;url=http://album.sina.com.cn/pic/000gV6svzy6X2Snorwo34" target="_blank"><img title="mysql&nbsp;<wbr>workbench如何把已有的数据库导出ER模型" src="http://s5.sinaimg.cn/mw690/000gV6svzy6X2Snorwo34&amp;690" alt="mysql&nbsp;<wbr>workbench如何把已有的数据库导出ER模型" name="image_operate_90491447658970709" width="690" height="694"></a><br>如何查看表的关系,这个特点恐怕也是workbench的特长所在吧(为什么很多php程序员喜欢用它的原因)</div> <div><a href="http://photo.blog.sina.com.cn/showpic.html#blogid=0ee72b370102waef&amp;url=http://album.sina.com.cn/pic/000gV6svzy6X2TClZn05e" target="_blank"><img title="mysql&nbsp;<wbr>workbench如何把已有的数据库导出ER模型" src="http://s15.sinaimg.cn/mw690/000gV6svzy6X2TClZn05e&amp;690" alt="mysql&nbsp;<wbr>workbench如何把已有的数据库导出ER模型" name="image_operate_98091447659488725" width="690" height="449"></a><br><br>增加表与表的关联,这里要特别注意,数据库中的关系是最难设计的,而workbench在这方面有独特的工具,它代替了手工繁琐的工作,用工具一拖即可生成关系。注意当建立关联后,第一个表中会增加一个关联的字段,如果你嫌这个字段过长可以改,并且这个字段会模拟手工增加索引自动加上它的索引。这要从建表后点击这一字段查看其属性能看出来。很棒的功能哈!</div> <div><a href="http://photo.blog.sina.com.cn/showpic.html#blogid=0ee72b370102waef&amp;url=http://album.sina.com.cn/pic/000gV6svzy6X2Udf24L87" target="_blank"><img title="mysql&nbsp;<wbr>workbench如何把已有的数据库导出ER模型" src="http://s8.sinaimg.cn/mw690/000gV6svzy6X2Udf24L87&amp;690" alt="mysql&nbsp;<wbr>workbench如何把已有的数据库导出ER模型" name="image_operate_67251447659732117" width="690" height="677"></a><br>一个能提高工作效率的功能</div> <div><a href="http://photo.blog.sina.com.cn/showpic.html#blogid=0ee72b370102waef&amp;url=http://album.sina.com.cn/pic/000gV6svzy6X2XKpvv4ba" target="_blank"><img title="mysql&nbsp;<wbr>workbench如何把已有的数据库导出ER模型" src="http://s11.sinaimg.cn/mw690/000gV6svzy6X2XKpvv4ba&amp;690" alt="mysql&nbsp;<wbr>workbench如何把已有的数据库导出ER模型" name="image_operate_79371447662585296"></a></div> </div></div> <h3>2018-2-28更新</h3> Mysql workbench “Too many objects are selected for auto placement. Select fewer elements to create the EER diagram.”怎么解决? Workbench emits that "Resource Warning" error and then deselects the "Place imported objects on a diagram" option for you. Execute it again (click "Execute") without that option to execute the Reverse Engineering wizard. Then, create a new EER diagram, select all tables (objects) using the "Catalog" tab on the left pane, and then drag them onto the EER diagram canvas. This will take a few minutes or so to execute. When finished, optionally select "Autolayout" from the "Arrange" navigation menu and then wait another few minutes.

I just tested this with 2000 tables and it works.

Do you know how to auto arrange tables? Menu/Arrange/Autolayout arranges it, but anyway there are many tables located over other ones. – Renat Gatin Sep 10 '15 at 0:21

@Philip Olson, Yes its worked for me, but tables are located over other ones , suggest me how to arrange line by rows. – Rajkumar .E Mar 17 '17 at 5:37 转自:https://stackoverflow.com/questions/27700967/mysql-workbench-too-many-objects-are-selected-for-auto-placement-select-fewer 简要总结: mysql workbench支持逆向工程建模,具体操作如下: Menu Database->Reverse Engineer... 弹出Reverse Engineer Database对话框 Connection Options ->next Connection to DBMS ->next Select Schemas 选择要逆向的数据库 Select Objects ->next Reverse Engineer ->Execute Results ->Finish

o
粉丝 1
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
我的架构演化笔记 功能1: 基本的用户注册

“咚咚”,一阵急促的敲门声, 我从睡梦中惊醒,我靠,这才几点,谁这么早, 开门一看,原来我的小表弟放暑假了,来南京玩,顺便说跟我后面学习一个网站是怎么做出来的。 于是有了下面的一段...

强子哥哥
2014/05/31
976
3
代码生成器--Codgen

Codgen是一个基于数据库元数据模型,使用freemarker模板引擎来构建输出的代码生成器。freemarker的数据模型结构通常来说都是一个Map树状结构模型,codgen也不例外,它的数据模型这棵树的根节...

黄天政
2013/01/29
1.4W
2
数据库代码辅助工具--MaoCaiJun.Database

MaoCaiJun.DataBase 是一个用于 Microsoft Visual Studio 的数据库代码生成组件。它是基于 xml 文件的代码创建工具,支持sql2000,sql2005,sql2008,access, SQLite MaoCaiJun.Database 数据库...

mccj
2013/02/06
2.3K
1
JavaScript 服务器页--JSSP

JSSP (JavaScript Server Pages) 可以让你在 Java 的应用服务器上使用 JavaScript 生成网页。支持已有的 Java 包和嵌入式 SQL 命令。包含 Dervish 这个 JavaScript 交互操作包用于简化 Ajax...

匿名
2013/02/11
3.8K
0
数据库表单生成器--SQLScreens

SQLScreens 是一个使用 Tcl/TK 编写的简单关系型数据库表单生成工具。可让你快速创建查询界面,并指定相应的表和字段。支持多种数据库,包括:MySQL, SQLite, and INFORMIX, and ODBC for o...

匿名
2013/02/17
902
0

没有更多内容

加载失败,请刷新页面

加载更多

听说你还不会jwt和swagger-饭我都不吃了带着实践项目我就来了

前言 哈喽,大家好,我是asong,这是我的第八篇原创文章。听说你们还不会jwt、swagger,所以我带来一个入门级别的小项目。实现用户登陆、修改密码的操作。使用GIN(后台回复Golang梦工厂:g...

sunsong2020
59分钟前
0
0
python合并excel的多个sheet

简介 因为,每天都会有的大量excel报表汇总处理任务,所以写了一个脚本来处理。 就是找出每一个excel中特定的sheet,把这些sheet的特定列读取出来合并到一个sheet中。 因为每一个sheet的数据...

trayvon
10分钟前
0
0
如何设计一个幂等接口

什么叫幂等接口 幂等性,就是只多次操作的结果是一致的。这里可能有人会有疑问。 问:为什么要多次操作结果都一致呢?比如我查询数据,每次查出来的都一样,即使我修改了每次查出来的也都要一...

贪挽懒月
昨天
0
0
华为阿里下班时间曝光:所有的光鲜,都有加班的味道

点击上方 Z先生点记,加为星标 第一时间收到 Python 技术干货! 来源:GitHubPorn 声明:本文由HR人力资源成长俱乐部整理发布。素材来源程序员之家。如需转载,请务必注明以上信息,侵权必究...

zeroing1
08/06
0
0
Proguard 常用规则

入口 为了决定哪些代码要被保留哪些代码要出丢弃和混淆,必须指定入口点。这些入口点通常是 main方法,activity,service等。 在压缩阶段,Proguard从这些入口点开始递归确定哪些类或类成员要...

佛系编码
17分钟前
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部