<p>I'm tired of opening Dia and creating a database diagram at the beginning of every project. Is there a tool out there that will let me select specific tables and then create a database diagram for me based on a MySQL database? Preferably it would allow me to edit the diagram afterward since none of the foreign keys are set...</p>

<p>Here is what I am picturing diagram-wise (please excuse the horrible data design, I didn't design it. Let's focus on the diagram concept and not on the actual data it represents for this example ;) ):</p>

<p><img src="https://i.stack.imgur.com/lxvlR.jpg" alt="diagram">
<a href="https://i.stack.imgur.com/ZnN2O.png" rel="noreferrer">see full size diagram</a></p>

[{'answer_id': 2494, 'author': 'Mark Biek', 'author_id': 305, 'author_profile': 'https://Stackoverflow.com/users/305', 'pm_score': 2, 'selected': False, 'text': '<p>I believe <a href="http://www.fabforce.net/dbdesigner4/" rel="nofollow noreferrer">DB Designer</a> does something like that.  And I think they even have a free version.</p>\n\n<p><em>edit</em>\nNever mind.  Michael\'s link is much better.</p>\n'}, {'answer_id': 2495, 'author': 'Michael Stum', 'author_id': 91, 'author_profile': 'https://Stackoverflow.com/users/91', 'pm_score': 10, 'selected': True, 'text': '<p>Try MySQL Workbench, formerly DBDesigner 4:</p>\n\n<p><a href="http://dev.mysql.com/workbench/" rel="noreferrer">http://dev.mysql.com/workbench/</a></p>\n\n<p>This has a "Reverse Engineer Database" mode:</p>\n\n<p>Database -> Reverse Engineer</p>\n\n<p><a href="https://i.stack.imgur.com/wcoq9.png" rel="noreferrer"><img src="https://i.stack.imgur.com/wcoq9.png" alt="enter image description here"></a></p>\n'}, {'answer_id': 2517, 'author': 'John Downey', 'author_id': 200, 'author_profile': 'https://Stackoverflow.com/users/200', 'pm_score': -1, 'selected': False, 'text': '<p>The "Reverse Engineer Database" mode in Workbench is only part of the paid version, not the free one.</p>\n'}, {'answer_id': 112801, 'author': 'mlambie', 'author_id': 17453, 'author_profile': 'https://Stackoverflow.com/users/17453', 'pm_score': 5, 'selected': False, 'text': '<p>On a Mac, <a href="http://www.malcolmhardie.com/sqleditor/" rel="noreferrer">SQLEditor</a> will do what you want.</p>\n'}, {'answer_id': 1188267, 'author': 'Community', 'author_id': -1, 'author_profile': 'https://Stackoverflow.com/users/-1', 'pm_score': 3, 'selected': False, 'text': '<p>This <a href="http://code.google.com/p/database-diagram/" rel="noreferrer">http://code.google.com/p/database-diagram/</a> will reverse engineer your database. Just do an export \'structure only\' then paste the SQL into the tool.</p>\n'}, {'answer_id': 1530648, 'author': 'Leigh Pyle', 'author_id': 32010, 'author_profile': 'https://Stackoverflow.com/users/32010', 'pm_score': 0, 'selected': False, 'text': '<p>Try <a href="http://schemabank.com" rel="nofollow noreferrer">SchemaBank</a>. They support reverse engineering too.</p>\n'}, {'answer_id': 5267797, 'author': 'Reinderien', 'author_id': 313768, 'author_profile': 'https://Stackoverflow.com/users/313768', 'pm_score': 6, 'selected': False, 'text': '<p>I\'ve recently started using <a href="https://github.com/schemaspy/schemaspy" rel="nofollow noreferrer">https://github.com/schemaspy/schemaspy</a> . It strikes me as having a good balance between usability and simplicity. (GraphViz now optional)</p>\n'}, {'answer_id': 5304800, 'author': 'Juan Ignacio', 'author_id': 555340, 'author_profile': 'https://Stackoverflow.com/users/555340', 'pm_score': 3, 'selected': False, 'text': '<p>Try <a href="http://www.sqlmaestro.com/products/mysql/maestro/" rel="noreferrer">MySQL Maestro</a>. \nWorks great for me.</p>\n'}, {'answer_id': 9360600, 'author': 'Tauri Alfa', 'author_id': 976572, 'author_profile': 'https://Stackoverflow.com/users/976572', 'pm_score': 2, 'selected': False, 'text': '<p>MySQL Workbench worked like a charm.</p>\n\n<p>I just backed up database structure to SQL script and used it in "Create EER Model From SQL Script" of MWB 5.2.37 for Windows.</p>\n'}, {'answer_id': 10852185, 'author': 'mb2015', 'author_id': 1002058, 'author_profile': 'https://Stackoverflow.com/users/1002058', 'pm_score': 2, 'selected': False, 'text': '<p><a href="http://www.visual-paradigm.com/product/vpuml/editions/community.jsp" rel="nofollow">Visual Paradigm for UML 9.0</a></p>\n\n<p>It\'s awesome I used to work with mysql bench but for big databases (something like more than 300 tables) won\'t work very well but visual paradigm reverse database works so much better</p>\n'}, {'answer_id': 12216913, 'author': 'Chris Murray', 'author_id': 1638869, 'author_profile': 'https://Stackoverflow.com/users/1638869', 'pm_score': 2, 'selected': False, 'text': '<p>phpMyAdmin has what you are looking for (for many years now):\nIt takes a small bit of configuration, but gives you additional benefits too:\n<a href="http://www.phpmyadmin.net/documentation/#pmadb" rel="nofollow">http://www.phpmyadmin.net/documentation/#pmadb</a></p>\n'}, {'answer_id': 23032824, 'author': 'Bartek', 'author_id': 1422435, 'author_profile': 'https://Stackoverflow.com/users/1422435', 'pm_score': 2, 'selected': False, 'text': '<p>Try out <a href="http://www.vertabelo.com/" rel="nofollow">Vertabelo</a>! </p>\n\n<p>It\'s an online database modeler that supports reverse enginnering.</p>\n\n<p>Just create free of charge <a href="http://www.vertabelo.com/" rel="nofollow">Vertabelo</a> account, <a href="http://www.vertabelo.com/blog/reverse-engineering" rel="nofollow">import an existing database into Vertabelo</a> and voila - your database is in Vertabelo!</p>\n\n<p>It supports following databases: </p>\n\n<ul>\n<li>PostgreSQL,</li>\n<li>MySQL,</li>\n<li>Oracle,</li>\n<li>IBM DB2,</li>\n<li>HSQLDB,</li>\n<li>MS SQL Server.</li>\n</ul>\n'}, {'answer_id': 24695641, 'author': 'Hugo Silva', 'author_id': 3428458, 'author_profile': 'https://Stackoverflow.com/users/3428458', 'pm_score': 2, 'selected': False, 'text': '<p>In MySql Workbench (6.0) its possible generate one diagram based on tables created.\nFor that you should access to the tools bar, press <strong>Model</strong> and forward <strong>Create Diagram from Catalog Objects</strong> and done!</p>\n'}, {'answer_id': 25742046, 'author': 'Ludovic Aubert', 'author_id': 3046585, 'author_profile': 'https://Stackoverflow.com/users/3046585', 'pm_score': -1, 'selected': False, 'text': '<p>Here is a tool that generates relational diagrams from MySQL (on Windows at the moment).\nI have used it on a database with 400 tables.\nIf the diagram is too big for a single diagram, it gets broken down into smaller ones. So you will probably end up with multiple diagrams and you can navigate between them by right clicking. It is all explained in the link below. The tool is free (as in free beer), the author uses it himself on consulting assignments, and lets other people use it.\n<a href="http://www.scmlite.com/Quick%20overview" rel="nofollow">http://www.scmlite.com/Quick%20overview</a></p>\n'}]
['https://Stackoverflow.com/questions/2488', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/58/']