Mysql快速導出數據庫設計說明書word文檔(表結構、類型、注釋、是否有主鍵)

主要有三種方式,根據你的需求來選擇:

1、Mysql語句查詢

優點:無需安裝額外的軟件,使用你常用的數據庫可視化工具即可

缺點:受限于你的數據庫可視化工具的導出功能,需要額外寫腳本進行處理

2、Python腳本

優點:可以完全自定義樣式

缺點:需要額外安裝配置Python

3、PDManer(推薦)

優點:直接生成能夠滿足大部分要求的數據庫設計說明書,能根據模版自定義樣式

缺點:需要額外安裝PDManer,步驟多

建議:如果客戶沒有明確要求樣式,使用PDManer即可滿足交付任務

1、Mysql語句查詢

?可以使用Navicat和DBeaver等數據庫可視化工具,我這里用的是DBeaver

查詢SQL:

SELECT c.TABLE_NAME as '表名',              -- 表名c.COLUMN_NAME as '列名',             -- 列名c.COLUMN_TYPE as '數據類型',             -- 列數據類型c.COLUMN_COMMENT as '注釋',          -- 列注釋c.ORDINAL_POSITION as '排序',        -- 列位置IF(k.COLUMN_NAME IS NOT NULL, '是', '否') AS '是否主鍵'  -- 是否為主鍵
FROM INFORMATION_SCHEMA.COLUMNS c
LEFT JOIN (SELECT TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME FROM INFORMATION_SCHEMA.STATISTICS WHERE INDEX_NAME = 'PRIMARY'  -- 只選擇主鍵信息GROUP BY TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME) k ON c.TABLE_SCHEMA = k.TABLE_SCHEMA AND c.TABLE_NAME = k.TABLE_NAME AND c.COLUMN_NAME = k.COLUMN_NAME
WHERE c.TABLE_SCHEMA = 'database'  -- 替換為您的數據庫名
ORDER BY c.TABLE_SCHEMA, c.TABLE_NAME, c.ORDINAL_POSITION;

使用自己的數據庫可視化工具進行導出。

2、Python腳本

首先要先安裝Python,可以自定義樣式,可操控性強。

Python語句:

import pymysql
from docx import Document
from docx.shared import Pt
from docx.enum.text import WD_PARAGRAPH_ALIGNMENT
from docx.oxml.ns import qn# 替換為你的數據庫配置
db_config = {'host': '192.168.0.54','port': 3306,'user': 'root','password': 'password','database': 'crm','charset': 'utf8mb4'
}# 設置字體樣式
def set_run_style(run, font_name='宋體', font_size=10.5, bold=False):run.font.name = font_namerun._element.rPr.rFonts.set(qn('w:eastAsia'), font_name)run.font.size = Pt(font_size)run.bold = bold# 獲取表結構信息
def fetch_table_structure(config):conn = pymysql.connect(**config)cursor = conn.cursor(pymysql.cursors.DictCursor)cursor.execute(f"""SELECT TABLE_NAME, TABLE_COMMENTFROM information_schema.TABLESWHERE TABLE_SCHEMA = %s AND TABLE_NAME NOT LIKE 'act%%'""", (config['database'],))tables = cursor.fetchall()cursor.execute(f"""SELECT TABLE_NAME, COLUMN_NAME, COLUMN_TYPE, IS_NULLABLE, COLUMN_KEY, EXTRA, COLUMN_DEFAULT, COLUMN_COMMENTFROM information_schema.COLUMNSWHERE TABLE_SCHEMA = %s AND TABLE_NAME NOT LIKE 'act%%'ORDER BY TABLE_NAME, ORDINAL_POSITION""", (config['database'],))columns = cursor.fetchall()conn.close()table_map = {t['TABLE_NAME']: {'comment': t['TABLE_COMMENT'], 'columns': []} for t in tables}for col in columns:table_map[col['TABLE_NAME']]['columns'].append(col)return table_map# 生成 Word 文檔
def generate_doc(table_map, file_path):doc = Document()title = doc.add_heading('', 0)run = title.add_run('數據庫表結構文檔')set_run_style(run, '黑體', 16, True)title.alignment = WD_PARAGRAPH_ALIGNMENT.CENTERfor table_name, table_info in table_map.items():# 表名標題heading = doc.add_heading('', level=1)run = heading.add_run(f"表名:{table_name}")set_run_style(run, '微軟雅黑', 14, True)# 表注釋para = doc.add_paragraph()run = para.add_run(f"表注釋:{table_info['comment']}")set_run_style(run, '宋體', 11)# 表格結構table = doc.add_table(rows=1, cols=7)table.style = 'Light List Accent 1'headers = ['字段名', '數據類型', '是否可為空', '鍵類型', '默認值', '額外信息', '字段注釋']hdr_cells = table.rows[0].cellsfor i, text in enumerate(headers):run = hdr_cells[i].paragraphs[0].add_run(text)set_run_style(run, '宋體', 10.5, True)for col in table_info['columns']:row = table.add_row().cellsvalues = [col['COLUMN_NAME'],col['COLUMN_TYPE'],col['IS_NULLABLE'],col['COLUMN_KEY'],str(col['COLUMN_DEFAULT']) if col['COLUMN_DEFAULT'] is not None else '',col['EXTRA'],col['COLUMN_COMMENT']]for i, val in enumerate(values):run = row[i].paragraphs[0].add_run(val)set_run_style(run, '宋體', 10.5)doc.add_paragraph()  # 空行分隔表doc.save(file_path)print(f"? 已生成 Word 文檔:{file_path}")# 執行
if __name__ == '__main__':table_data = fetch_table_structure(db_config)generate_doc(table_data, '數據庫表結構文檔_美觀版.docx')

效果:

3、PDManer(推薦)

官網下載地址:

https://www.yonsum.com/Download

使用:

3.1 新建項目

3.2 PDManer連接數據庫

步驟:

1、點擊數據庫

2、點擊新增

3、填寫數據庫驅動連接信息

4、測試

5、成功后點確定

連接成功:

3.3 將數據庫數據導入到PDManer

導入-》從數據庫連接逆向解析

選擇數據庫:

選擇需要操作的表:

導入:

結果:

3.4 將數據表導出成WORD文檔

導出 -> 導出為WORD文檔

選擇導出模版:

PS:(不選默認為系統自帶的模版,如需修改則下載文檔模版再指定模版文件)

3.5 選擇導出的表

沒什么不能說的就直接全部導出,有什么不能說的那就~篩選導出~

工作流的表我就不導了。

word文檔效果:

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

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

相關文章

DigitalProductId解密算法php調試版piddebug.php

<?php // 使用數組字面量 $digits [B, C, D, F, G, H, J, K, M, P, Q, R,T, V, W, X, Y, 2, 3, 4, 6, 7, 8, 9]; //foreach ($digits as $digit) { // echo $digit."<br>"; //}$hexPidarray(0xc2,0x49,0x4b,0xcc,0x60,0x34,0x09,0xcd,0x96,0xf7,0xec,0…

IDEA快捷鍵壁紙分享

說明&#xff08;1&#xff09;因為顯示器的尺寸不同&#xff0c;對快捷鍵顯示的位置稍作調整 &#xff08;2&#xff09;這里默認您熟悉常用的快捷鍵&#xff0c;分享一些功能好用但是用的少的快捷鍵空壁紙筆記本壁紙&#xff08;15.6寸&#xff09;24 寸顯示器壁紙

InnoDB vs MyISAM: MySQL存儲引擎的世紀對決

選錯存儲引擎&#xff1f;你的數據庫性能可能暴跌80%&#xff01; 本文用最直觀的對比拆解MySQL兩大核心存儲引擎的差異&#xff0c;讓你徹底明白什么場景該選誰。一、引擎全景圖: 數據庫的"心臟"之爭 ?? #mermaid-svg-KTQko8kEUvOkTb4L {font-family:"trebuc…

【Avalonia】無開發者賬號使用iOS真機調試跨平臺應用

文章目錄1. 要求1.1 無需Apple開發者賬號1.2 最新版mac系統1.3 最新版Xcode2. 配對Mac3. 配置開發證書3.1 創建一個名為MTClient的Xcode項目3.2 找到簽名證書3.3 配置簽名3.4 配置標識符4. 真機調試4.1 設置應用首屏 Launch Screen4.2 設置應用圖標5. 問題5.1 DI異常該問題的解…

【LLM實戰|langchain】langchain基礎

every blog every motto: You can do more than you think. https://blog.csdn.net/weixin_39190382?typeblog 0. 前言 【LLM實戰|langchain】langchain基礎 1. 模型 I/O 封裝 把不同的模型&#xff0c;統一封裝成一個接口&#xff0c;方便更換模型而不用重構代碼。 1.1 …

十九、MySQL-DQL-基本查詢

基本查詢代碼&#xff1a;DQL:基本查詢 1.查詢指定字段 name,entrydate 并返回 -- 1.查詢指定字段 name,entrydate 并返回 select name,entrydate from tb_emp;2.查詢返回所有字段 -- 2.查詢返回所有字段 -- 推薦 select id, username, password, name, gender, image, job, e…

CamX-驍龍相機修改

1. 修改視頻模式預覽尺寸和分辨率 vendor/codeaurora/packages/apps/SnapdragonCamera/src/com/android/camera/CaptureModule.javaprivate void updatePreviewSize() {int width mPreviewSize.getWidth();int height mPreviewSize.getHeight(); - mPreviewSize new …

容器技術基礎與實踐:從鏡像管理到自動運行配置全攻略

1. 相比較虛擬機&#xff0c;容器有哪些技術優勢&#xff1f;&#xff08;1&#xff09;直接在操作系統上運行&#xff0c;從而跨系統上的所有容器共享資源&#xff0c;‘&#xff08;2&#xff09;共享主機的內核。&#xff08;3&#xff09;與虛擬機相比&#xff0c;它需要的…

書生浦語第五期-L1G4-InternLM 論文分類微調實踐(XTuner 版)

XTuner介紹一句話介紹XTuner&#xff1a;XTuner 是一個高效、靈活、全能的輕量化大模型微調工具庫。核心特點&#xff1a;高效&#xff1a;支持在有限資源下微調大模型&#xff0c;如在8GB顯存上微調7B參數模型&#xff0c;也支持多節點微調70B模型&#xff1b;自動分發高性能算…

從靈感枯竭到批量產出:無憂秘書創作平臺如何重構內容生產者的工作流程?全環節賦能分析

在當今快節奏的數字時代&#xff0c;內容創作者面臨著前所未有的挑戰。無論是自媒體運營者、自由撰稿人還是企業營銷人員&#xff0c;都需要高效地生產高質量的內容以滿足市場需求。然而&#xff0c;靈感枯竭、效率低下以及內容質量不穩定等問題常常困擾著這些內容生產者。為了…

【開源工具】基于Python的PDF清晰度增強工具全解析(附完整源碼)

??? 【開源工具】基于Python的PDF清晰度增強工具全解析(附完整源碼) ?? 個人主頁:創客白澤 - CSDN博客 ?? 系列專欄:??《Python開源項目實戰》 ?? 熱愛不止于代碼,熱情源自每一個靈感閃現的夜晚。愿以開源之火,點亮前行之路。 ?? 希望大家多多支持,我們一起進…

Qwen-Image開源模型實戰

Qwen-Image開源模型實戰&#xff1a;ComfyUI低顯存量化部署與中文海報生成指南 阿里云通義千問團隊最新開源的Qwen-Image模型以其卓越的中英文文本渲染能力在AI繪圖領域掀起了一場革命。這款200億參數的MMDiT架構模型不僅能夠生成高質量圖像&#xff0c;更突破了AI繪圖長期存在…

JavaWeb03——javascript基礎語法

1.什么是JavaScript&#xff1f;JavaScript&#xff08;簡稱 JS&#xff09;是一種 編程語言&#xff0c;它主要用來為網頁添加交互功能。它可以讓網頁變得動態&#xff0c;讓它不僅僅是靜態的文字和圖片&#xff0c;還能響應用戶操作&#xff08;比如點擊按鈕、彈框警告等&…

數據庫入門:從零開始構建你的第一個數據庫

歡迎來到數據庫的世界&#xff01;今天&#xff0c;我們將一起探索如何創建、管理和查詢數據庫。無論你是初學者還是希望加深理解的開發者&#xff0c;這篇博客都將幫助你更好地掌握數據庫的基礎知識。一、數據庫的基本操作創建數據庫首先&#xff0c;讓我們從創建一個新數據庫…

從匯編角度揭秘C++構造函數(1)

C的構造函數一直比較神秘&#xff0c;今天我們通過匯編的角度來揭秘一下&#xff0c;它的本質是什么。與常規函數有什么不同。從以下這段代碼說起&#xff1a; class Person { public:Person(int age) { _age age; }void printAge(){ printf("age %d\r\n",_age); …

java10學習筆記

Java 10 于 2018 年 3 月發布&#xff0c;是 Java 平臺按照新的六個月發布周期發布的第一個版本。雖然相比 Java 8 和 Java 9 的大型更新&#xff0c;Java 10 的變化較小&#xff0c;但仍然引入了一些重要的特性&#xff0c;特別是本地變量類型推斷&#xff08;var&#xff09;…

Flutter Listview的基本使用

Listview() 前端頁面常見的一個以列表方式顯示內容的組件。可垂直或水平滾動的列表。屬性說明scrollDirection設置滾動的方向&#xff0c;取值包括horizontal、verticalreverse設置是否翻轉&#xff0c;默認值falseitemExtent設置滾動方向子元素的長度&#xff0c;垂直方向為高…

強化學習筆記:從Q學習到GRPO

推薦學習huggingface的強化學習課程&#xff0c;全面了解強化學習的發展史。 以下是個人筆記&#xff0c;內容不一定完整&#xff0c;有些是個人理解。 基于值函數(value function)的強化學習 基于值函數(value function)的強化學習&#xff1a;學習的是一個值函數&#xff0…

MySQL索引底層原理與性能優化實踐

#技術棧深潛計劃一、前言 在日常開發中&#xff0c;MySQL數據庫以其高效、易用、可擴展等特性成為最主流的關系型數據庫之一。而索引作為數據庫查詢優化的核心工具&#xff0c;被譽為“數據庫的加速器”。但你真的了解MySQL索引的底層原理嗎&#xff1f;為什么InnoDB默認采用B樹…

Ext系列文件系統

1.硬件常見的硬件有磁盤、服務器、機柜、機房機械磁盤但是計算機中唯一的一個機械設備磁盤外設的特點就是外設慢容量大&#xff0c;價格便宜1.1.磁盤的物理結構磁盤的物理圖&#xff1a;磁盤的存儲圖扇區:是磁盤存儲數據的基本單位&#xff0c;512字節&#xff0c;塊設備磁盤的…