2012-02-16 123 views
0

我使用的是MySQL Workbench 5.2.37,我發現它是一個很好的數據庫開發工具。使用MySQL Workbench的數據庫文檔

我確實創建了所有的表格,字段和關係,並且我也做了文檔(爲每個字段添加了一個註釋,其功能與關係和表格相同)。

我想導出這個文檔。我的意思是,不是SQL腳本,而是我爲表和它的字段放置的元數據。

喜歡的東西:

表:客戶

點評:代表系統的客戶

領域:

ID(整數空,唯一):客戶的唯一標識符

name(VARCHAR [100] not null,unique):客戶名稱

...

有沒有人知道是否可以提取這樣的報告?

回答

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$$ 

如果你碰巧有標準版(商業)有可能是對你的衚衕一些特點:

enter image description here

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

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 
相關問題