使用navicat(或者其他數據庫管理工具)、powerdesigner導出數據字典

適合先有數據庫結構,后需要導出數據字典的情況,多數在發開完成交文檔或者用戶有庫的情況下
有條件的話推薦用powerdesigner導出,比較好看
如果用powerdesigner導出的注釋不對,是因為數據庫的編碼不對

1、使用navicat導出

在該數據庫下新建一個查詢輸入下面的語句

SELECTTABLE_NAME 表名稱,COLUMN_NAME 列名稱,COLUMN_DEFAULT 默認值,IS_NULLABLE 是否為null,COLUMN_TYPE 數據類型,COLUMN_KEY 索引,EXTRA 其他屬性,COLUMN_COMMENT 注釋
FROMinformation_schema.COLUMNS 
WHERETABLE_SCHEMA = '數據庫名'

查詢結果如下
在這里插入圖片描述導出結果到本機電腦里
在這里插入圖片描述修改一下名字后保存
在這里插入圖片描述然后再按照自己想要的格式進行調整或者粘到word
其他的可選字段及注釋

在這里插入圖片描述

2、使用 powerdesigner 導出數據字典

連接數據庫方式在此不贅述了,只談導出
打開菜單Tools>Execute Commands>Edit/Run Script… 或者用快捷鍵 Ctrl+Shift+X,復制下列代碼,粘貼

'******************************************************************************
Option ExplicitDim rowsNumrowsNum = 0
'-----------------------------------------------------------------------------
' Main function
'-----------------------------------------------------------------------------
' Get the current active modelDim ModelSet Model = ActiveModelIf (Model Is Nothing) Or (Not Model.IsKindOf(PdPDM.cls_Model)) ThenMsgBox "The current model is not an PDM model."Else' Get the tables collection'創建EXCEL APPdim beginrowDIM EXCEL, SHEET, SHEETLISTset EXCEL = CREATEOBJECT("Excel.Application")EXCEL.workbooks.add(-4167)'添加工作表EXCEL.workbooks(1).sheets(1).name ="表結構"set SHEET = EXCEL.workbooks(1).sheets("表結構")EXCEL.workbooks(1).sheets.addEXCEL.workbooks(1).sheets(1).name ="目錄"set SHEETLIST = EXCEL.workbooks(1).sheets("目錄")ShowTableList Model,SHEETLISTShowProperties Model, SHEET,SHEETLISTEXCEL.workbooks(1).Sheets(2).SelectEXCEL.visible = true'設置列寬和自動換行sheet.Columns(1).ColumnWidth = 20 sheet.Columns(2).ColumnWidth = 20 sheet.Columns(3).ColumnWidth = 20 sheet.Columns(4).ColumnWidth = 40 sheet.Columns(5).ColumnWidth = 10 sheet.Columns(6).ColumnWidth = 10 sheet.Columns(1).WrapText =truesheet.Columns(2).WrapText =truesheet.Columns(4).WrapText =true'不顯示網格線EXCEL.ActiveWindow.DisplayGridlines = FalseEnd If
'-----------------------------------------------------------------------------
' Show properties of tables
'-----------------------------------------------------------------------------
Sub ShowProperties(mdl, sheet,SheetList)' Show tables of the current model/packagerowsNum=0beginrow = rowsNum+1Dim rowIndex rowIndex=3' For each tableoutput "begin"Dim tabFor Each tab In mdl.tablesShowTable tab,sheet,rowIndex,sheetListrowIndex = rowIndex +1Nextif mdl.tables.count > 0 thensheet.Range("A" & beginrow + 1 & ":A" & rowsNum).Rows.Groupend ifoutput "end"
End Sub
'-----------------------------------------------------------------------------
' Show table properties
'-----------------------------------------------------------------------------
Sub ShowTable(tab, sheet,rowIndex,sheetList)If IsObject(tab) ThenDim rangFlagrowsNum = rowsNum + 1' Show propertiesOutput "================================"sheet.cells(rowsNum, 1) =tab.namesheet.cells(rowsNum, 1).HorizontalAlignment=3sheet.cells(rowsNum, 2) = tab.code'sheet.cells(rowsNum, 5).HorizontalAlignment=3'sheet.cells(rowsNum, 6) = ""'sheet.cells(rowsNum, 7) = "表說明"sheet.cells(rowsNum, 3) = tab.comment'sheet.cells(rowsNum, 8).HorizontalAlignment=3sheet.Range(sheet.cells(rowsNum, 3),sheet.cells(rowsNum, 7)).Merge'設置超鏈接,從目錄點擊表名去查看表結構'字段中文名    字段英文名    字段類型    注釋    是否主鍵    是否非空    默認值sheetList.Hyperlinks.Add sheetList.cells(rowIndex,2), "","表結構"&"!B"&rowsNumrowsNum = rowsNum + 1sheet.cells(rowsNum, 1) = "字段中文名"sheet.cells(rowsNum, 2) = "字段英文名"sheet.cells(rowsNum, 3) = "字段類型"sheet.cells(rowsNum, 4) = "注釋"sheet.cells(rowsNum, 5) = "是否主鍵"sheet.cells(rowsNum, 6) = "是否非空"sheet.cells(rowsNum, 7) = "默認值"'設置邊框sheet.Range(sheet.cells(rowsNum-1, 1),sheet.cells(rowsNum, 7)).Borders.LineStyle = "1"'sheet.Range(sheet.cells(rowsNum-1, 4),sheet.cells(rowsNum, 9)).Borders.LineStyle = "1"'字體為10號sheet.Range(sheet.cells(rowsNum-1, 1),sheet.cells(rowsNum, 7)).Font.Size=10Dim col ' running columnDim colsNumcolsNum = 0for each col in tab.columnsrowsNum = rowsNum + 1colsNum = colsNum + 1sheet.cells(rowsNum, 1) = col.name'sheet.cells(rowsNum, 3) = ""'sheet.cells(rowsNum, 4) = col.namesheet.cells(rowsNum, 2) = col.codesheet.cells(rowsNum, 3) = col.datatypesheet.cells(rowsNum, 4) = col.commentIf col.Primary = true Thensheet.cells(rowsNum, 5) = "Y" Elsesheet.cells(rowsNum, 5) = " " End IfIf col.Mandatory = true Thensheet.cells(rowsNum, 6) = "Y" Elsesheet.cells(rowsNum, 6) = " " End Ifsheet.cells(rowsNum, 7) =  col.defaultvaluenextsheet.Range(sheet.cells(rowsNum-colsNum+1,1),sheet.cells(rowsNum,7)).Borders.LineStyle = "3"       'sheet.Range(sheet.cells(rowsNum-colsNum+1,4),sheet.cells(rowsNum,9)).Borders.LineStyle = "3"sheet.Range(sheet.cells(rowsNum-colsNum+1,1),sheet.cells(rowsNum,7)).Font.Size = 10rowsNum = rowsNum + 2Output "FullDescription: "       + tab.NameEnd IfEnd Sub
'-----------------------------------------------------------------------------
' Show List Of Table
'-----------------------------------------------------------------------------
Sub ShowTableList(mdl, SheetList)' Show tables of the current model/packageDim rowsNorowsNo=1' For each tableoutput "begin"SheetList.cells(rowsNo, 1) = "主題"SheetList.cells(rowsNo, 2) = "表中文名"SheetList.cells(rowsNo, 3) = "表英文名"SheetList.cells(rowsNo, 4) = "表說明"rowsNo = rowsNo + 1SheetList.cells(rowsNo, 1) = mdl.nameDim tabFor Each tab In mdl.tablesIf IsObject(tab) ThenrowsNo = rowsNo + 1SheetList.cells(rowsNo, 1) = ""SheetList.cells(rowsNo, 2) = tab.nameSheetList.cells(rowsNo, 3) = tab.codeSheetList.cells(rowsNo, 4) = tab.commentEnd IfNextSheetList.Columns(1).ColumnWidth = 20 SheetList.Columns(2).ColumnWidth = 20 SheetList.Columns(3).ColumnWidth = 30 SheetList.Columns(4).ColumnWidth = 60 output "end"
End Sub

在這里插入圖片描述運行完會自動打開Excel
powerdesigner導出來的會比上一種方法導出來的好看
在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/206874.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/206874.shtml
英文地址,請注明出處:http://en.pswp.cn/news/206874.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

代碼隨想錄算法訓練營第45天| 70. 爬樓梯 (進階) 322. 零錢兌換 279.完全平方數

JAVA代碼編寫 70. 爬樓梯&#xff08;進階版) 卡碼網&#xff1a;57. 爬樓梯&#xff08;第八期模擬筆試&#xff09; 題目描述 假設你正在爬樓梯。需要 n 階你才能到達樓頂。 每次你可以爬至多m (1 < m < n)個臺階。你有多少種不同的方法可以爬到樓頂呢&#xff1f…

菜鳥學習日記(python)——推導式

python中的推導式是一種獨特的數據處理方式&#xff0c;可以從一個數據序列去構建另一個新的數據序列的結構體。 它包括以下推導式&#xff1a; 列表&#xff08;list&#xff09;推導式字典&#xff08;dict&#xff09;推導式集合&#xff08;set&#xff09;推導式元組&am…

Multi-Cell Downlink Beamforming: Direct FP, Closed-Form FP, Weighted MMSE

這里寫自定義目錄標題 Direct FPClosed-Form FPthe Lagrangian functionthe Lagrange dual function: maximizing the Lagrangianthe Lagrange dual problem: minimizing the Lagrange dual functionClosed-Form FP Weighted MMSE原論文 Lagrange dual5.1.1 The Lagrangian5.1.…

阿里云服務器經濟型、通用算力型、計算型、通用型、內存型實例區別及選擇參考

當我們通過阿里云的活動購買云服務器會發現&#xff0c;相同配置的云服務器往往有多個不同的實例可選&#xff0c;而且價格差別也比較大&#xff0c;例如同樣是4核8G的配置的云服務器&#xff0c;經濟型e實例活動價格只要1500.48/1年起&#xff0c;通用算力型u1實例要1795.97/1…

nvidia安裝出現7-zip crc error解決辦法

解決辦法&#xff1a;下載network版本&#xff0c;重新安裝。&#xff08;選擇自己需要的版本&#xff09; 網址&#xff1a;CUDA Toolkit 12.3 Update 1 Downloads | NVIDIA Developer 分析原因&#xff1a;local版本的安裝包可能在下載過程中出現損壞。 本人嘗試過全網說的…

linux 系統安全基線 安全加固操作

目錄 用戶口令設置 root用戶遠程登錄限制 檢查是否存在除root之外UID為0的用戶 ???????root用戶環境變量的安全性 ???????遠程連接的安全性配置 ???????用戶的umask安全配置 ???????重要目錄和文件的權限設置 ???????找未授權的SUID…

json轉yolo格式

json轉yolo格式 視覺分割得一些標注文件是json格式&#xff0c;比如&#xff0c;舌頭將這個舌頭區域分割出來&#xff08;用mask二值圖的形式&#xff09;&#xff0c;對舌頭的分割第一步是需要檢測出來&#xff0c;缺少數據集&#xff0c;可以使用分割出來的結果&#xff0c;將…

無公網IP環境如何SSH遠程連接Deepin操作系統

文章目錄 前言1. 開啟SSH服務2. Deppin安裝Cpolar3. 配置ssh公網地址4. 公網遠程SSH連接5. 固定連接SSH公網地址6. SSH固定地址連接測試 前言 Deepin操作系統是一個基于Debian的Linux操作系統&#xff0c;專注于使用者對日常辦公、學習、生活和娛樂的操作體驗的極致&#xff0…

數據儀表盤設計:可視化數據指標和報告

寫在開頭 在信息爆炸的時代,數據不再是簡單的數字和圖表,而是一種有機的信息體系。如何將這些琳瑯滿目的數據以一種直觀而高效的方式展示,成為企業決策者和分析師們共同關注的問題。本文將帶您深入學習如何設計和創建數據儀表盤,使數據指標和報告以一目了然的方式呈現。 …

Python---time庫

目錄 時間獲取 時間格式化 程序計時 time庫包含三類函數&#xff1a; 時間獲取&#xff1a;time() ctime() gmtime() 時間格式化&#xff1a;strtime() strptime() 程序計時&#xff1a;sleep() perf_counter() 下面逐一介紹&#…

H3.3K27M彌漫性中線膠質瘤的反義寡核苷酸治療

今天給同學們分享一篇實驗文章“Antisense oligonucleotide therapy for H3.3K27M diffuse midline glioma”&#xff0c;這篇文章發表在Sci Transl Med期刊上&#xff0c;影響因子為17.1。 結果解讀&#xff1a; CRISPR-Cas9消耗H3.3K27M恢復了H3K27三甲基化&#xff0c;并延…

Echarts地圖案例及常見問題

前言 ECharts 是一個使用 JavaScript 實現的開源可視化庫,它可以幫助用戶以簡單的方式創建復雜的時間序列、條形圖、餅圖、地圖等圖形。 Echarts繪制地圖的案例 展示了中國各省份的人口數量 var myChart = echarts.init(document.getElementById(main)); var option = {t…

【TailwindCSS】

TailwindCSS作為一種現代化的CSS框架&#xff0c;以其高度的定制性和靈活性受到前端開發者的青睞。本文旨在提供一份詳細的TailwindCSS使用教程&#xff0c;特別適用于Vite和Vue框架的組合。 我們將從安裝開始&#xff0c;深入探討如何在項目中有效利用TailwindCSS的各項功能&…

在AWS Lambda上部署標準FFmpeg工具——Docker方案

大綱 1 確定Lambda運行時環境1.1 Lambda系統、鏡像、內核版本1.2 運行時1.2.1 Python1.2.2 Java 2 啟動EC23 編寫調用FFmpeg的代碼4 生成docker鏡像4.1 安裝和啟動Docker服務4.2 編寫Dockerfile腳本4.3 生成鏡像 5 推送鏡像5.1 創建存儲庫5.2 給EC2賦予角色5.2.1 創建策略5.2.2…

【帶頭學C++】----- 九、類和對象 ---- 9.10 C++設計模式之單例模式設計

??????????????????????麻煩您點個關注&#xff0c;不迷路???????????????????????? 目 錄 9.10 C設計模式之單例模式設計 舉例說明&#xff1a; 9.10 C設計模式之單例模式設計 看過我之前的文章的&#xff0c;簡單講解過C/Q…

遙測終端機RTU:實現遠程監測和控制的重要工具

遙測終端機RTU對設備進行遠程監測和控制&#xff0c;支持采集和傳輸數據&#xff0c;以實現對工業過程、公用事業、水文和環境的監測和管理。 遙測終端機RTU工作原理 計訊物聯遙測終端機RTU通過網口、串口進行傳感器/設備等現場數據采集&#xff0c;將其轉換為數字信號&#xf…

【LeetCode】202. 快樂數

202. 快樂數 難度&#xff1a;簡單 題目 編寫一個算法來判斷一個數 n 是不是快樂數。 「快樂數」 定義為&#xff1a; 對于一個正整數&#xff0c;每一次將該數替換為它每個位置上的數字的平方和。然后重復這個過程直到這個數變為 1&#xff0c;也可能是 無限循環 但始終變…

高校網站建設的效果如何

高校有較高的信息承載需求、招生宣傳、學校內容呈現、內部消息觸達等需求&#xff0c;對高校來說&#xff0c;如今互聯網深入生活各個場景&#xff0c;無論學校發展、外部拓展還是內部師生互動、通知觸達等都需要完善。 除了傳統傳單及第三方平臺展示外&#xff0c;學校構建屬…

C#-數組池減少GC工作

數組池減少GC工作 通過ArrayPool類&#xff08;名稱空間System.Buffers&#xff09;使用數組池&#xff0c;可減少垃圾收集器的工作&#xff0c;ArrayPool管理一個數組池&#xff0c;數組可以從這租借&#xff0c;并返回池中&#xff0c;內存在ArrayPool中管理。 創建ArrayPool…

Html5響應式全開源網站建站源碼系統 附帶完整的搭建教程

Html5響應式全開源網站建站源碼系統是基于Html5、CSS3和JavaScript等技術開發的全開源網站建站系統。它旨在為初學者和小型企業提供一套快速、簡便的網站建設解決方案。該系統采用響應式設計&#xff0c;可以自適應不同設備的屏幕大小&#xff0c;提高用戶體驗。同時&#xff0…