主要有三种方式,根据你的需求来选择:

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;块设备磁盘的…