首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL工作台的数据库文档

问MySQL工作台的数据库文档
EN

Stack Overflow用户
提问于 2012-02-16 22:35:23
回答 2查看 5K关注 0票数 0

我使用的是MySQL Workbench 5.2.37,我发现它是一个很棒的数据库开发工具。

我确实创建了所有的表、字段和关系,我还创建了文档(为每个字段及其功能添加注释,关系和表也是如此)。

我只想导出这个文档。我的意思是,不是SQL脚本,而是我为表及其字段设置的元数据。

类似于:

表:客户

评论:代表系统的客户

字段:

id (INTEGER not null,unique )客户唯一标识

名称(VARCHAR100非空,唯一):客户名称

..。

有没有人知道提取这样的报告是可能的?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-23 15:19:29

我猜你有MySQL工作台的社区版吧?

我认为通过CREATE语句对数据库进行文档化将足够接近您所要实现的目标。

选择方案中的所有表(SQL编辑器视图),右键单击并选择‘发送到SQL编辑器’-> Create语句。

然后,您可以保存一个由数据库中的每个表组成的文件。

示例:

代码语言:javascript
复制
CREATE TABLE `country` (
  `Code` char(3) NOT NULL DEFAULT '',
  `Name` char(52) NOT NULL DEFAULT '',
  `Continent` enum('Asia','Europe','North America','Africa','Oceania','Antarctica','South America') NOT NULL DEFAULT 'Asia',
  `Region` char(26) NOT NULL DEFAULT '',
  `SurfaceArea` float(10,2) NOT NULL DEFAULT '0.00',
  `IndepYear` smallint(6) DEFAULT NULL,
  `Population` int(11) NOT NULL DEFAULT '0',
  `LifeExpectancy` float(3,1) DEFAULT NULL,
  `GNP` float(10,2) DEFAULT NULL,
  `GNPOld` float(10,2) DEFAULT NULL,
  `LocalName` char(45) NOT NULL DEFAULT '',
  `GovernmentForm` char(45) NOT NULL DEFAULT '',
  `HeadOfState` char(60) DEFAULT NULL,
  `Capital` int(11) DEFAULT NULL,
  `Code2` char(2) NOT NULL DEFAULT '',
  PRIMARY KEY (`Code`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1$$


delimiter $$

CREATE TABLE `countrylanguage` (
  `CountryCode` char(3) NOT NULL DEFAULT '',
  `Language` char(30) NOT NULL DEFAULT '',
  `IsOfficial` enum('T','F') NOT NULL DEFAULT 'F',
  `Percentage` float(4,1) NOT NULL DEFAULT '0.0',
  PRIMARY KEY (`CountryCode`,`Language`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1$$

如果你碰巧有标准版(商业版),有一些功能可能就是你喜欢的:

​

​

http://www.mysql.com/products/workbench/features.html

票数 1
EN

Stack Overflow用户

发布于 2014-06-05 21:35:50

我也有同样的问题。我使用information_schema数据库从使用的数据库中提取元数据。您可以使用tables: TABLES -关于服务器中所有表的元数据。KEY_COLUMN_USAGE -有关使用的所有键的元数据。列-关于所有列的元数据。

你可以在那里得到很多信息,如果你有注释的列和表,你也可以得到你的评论。要从选定数据库的基表中获取内容,可以运行此查询。请注意,我选择了一些满足我需要的字段。

要从选定的数据库中获取有关表的信息,可以运行以下命令:

代码语言:javascript
复制
SELECT TABLE_NAME, TABLE_COMMENT FROM TABLES WHERE TABLE_SCHEMA = 'database_schema' AND TABLE_TYPE = 'BASE TABLE'

要从选定表中获取有关列的信息,可以运行以下命令:

代码语言:javascript
复制
SELECT COL.COLUMN_NAME,COL.COLUMN_COMMENT,COL.COLUMN_TYPE,COL.IS_NULLABLE
  FROM COLUMNS COL LEFT JOIN KEY_COLUMN_USAGE KCU
  ON COL.TABLE_NAME = KCU.TABLE_NAME AND COL.COLUMN_NAME = KCU.COLUMN_NAME
  WHERE COL.TABLE_SCHEMA = 'database_schema' AND COL.TABLE_NAME = 'table_name'
  ORDER BY COL.TABLE_NAME,COL.ORDINAL_POSITION ,COL.COLUMN_NAME
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9313131

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档