我正在使用MySQL Workbench 5.2.37,我觉得它是一个很好的数据库开发工具。
我确实创建了所有表格,字段和关系,并且我也做了文档(为每个字段添加了注释,其功能与关系和表格相同)。
我想只导出这个文档。我的意思是,不是SQL脚本,而是我为表及其字段添加的元数据。
类似的东西:
表:客户
评论:代表系统的客户
字段:
id(INTEGER not null,unique):客户唯一标识符
name(VARCHAR [100] not null,unique):客户名称
...
有人知道是否可以提取这样的报告?
答案 0 :(得分:2)
我遇到了同样的问题。 我使用information_schema数据库从使用的数据库中提取元数据。 你可以使用表格: TABLES - 有关服务器中所有表的元数据。 KEY_COLUMN_USAGE - 有关所有使用的密钥的元数据。 COLUMNS - 所有列的元数据。
您可以在那里获得很多信息,如果您评论了列和表,也可以获得您的评论。 要从选定的数据库中获取基表中的内容,您可以运行此查询。请注意,我选择了一些满足我需求的字段。
要从选定的数据库中获取有关表的信息,可以运行以下命令:
SELECT TABLE_NAME, TABLE_COMMENT FROM TABLES WHERE TABLE_SCHEMA = 'database_schema' AND TABLE_TYPE = 'BASE TABLE'
要从选定的表中获取有关列的信息,可以运行以下命令:
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
答案 1 :(得分:1)
我猜你有MySQL Workbench的社区版?
我认为通过CREATE语句记录数据库将足够接近你想要实现的目标。
选择架构中的所有表(SQL编辑器视图),右键单击并选择“发送到SQL编辑器” - >创建声明。
然后,您可以保存一个包含数据库中每个表的文件。
示例:
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$$
如果你碰巧有标准版(商业版),那么有些功能可能就在你的小巷里: