mysql生成数据库字典文档

项目交付离不开项目数据库字典文档。下面用python轻松生成交付文档字典。

一 生成doc文档数据库字典效果:

1 生成doc文件,如下图:

2 打开文件字典格式内容 ,如下图:

二 python生成doc字典文档代码

  生成doc数据库字典python代码:

import docx
import os
from docx import Document #导入库 python-docx
import pymysqldef exportDbInfoWord (path):host = 'xx.xx.xx.xx'connect = pymysql.connect(host=host, user='user', password='xxxxx', db='information_schema')db ='dbname'cur = connect.cursor()cur.execute("""SELECT-- T.TABLE_SCHEMA AS '数据库名称',T.TABLE_NAME AS '表名',-- T.TABLE_TYPE AS '表类型',-- T. ENGINE AS '数据库引擎',-- C.ORDINAL_POSITION AS '字段编号',C.COLUMN_NAME AS '字段名',C.COLUMN_TYPE AS '数据类型',C.IS_NULLABLE AS '允许为空',-- C.COLUMN_KEY AS '键类型',-- C.EXTRA AS '自增属性',-- C.CHARACTER_SET_NAME AS '编码名称',C.COLUMN_COMMENT AS '字段说明',T.table_comment AS '表名注释'FROMCOLUMNS CINNER JOIN TABLES T ON C.TABLE_SCHEMA = T.TABLE_SCHEMAAND C.TABLE_NAME = T.TABLE_NAMEWHERE T.TABLE_SCHEMA = '"""+db+"' ")document = Document()# rowcount = cur.rowcounti = 1v_table_name = '表名称'for u in cur:if (v_table_name != u[0]):i = 1v_table_name = u[0]# document.add_heading('表:dg_ad ', 0)  #插入标题document.add_paragraph()p = document.add_paragraph('表: ')  # 插入段落p.add_run(v_table_name + '(' + u[5] + ')').bold = True# p.add_run('italic.').italic = Truetable = document.add_table(rows=1, cols=4, style='Table Grid')# table.cell(0,0).text='字段名'run = table.cell(0, 0).paragraphs[0].add_run('字段名')run.font.name = '宋体'run.bold = True  # 加粗# table.cell(0,1).text='数据类型'run = table.cell(0, 1).paragraphs[0].add_run('数据类型')run.font.name = '宋体'run.bold = True  # 加粗# table.cell(0,2).text='允许为空'run = table.cell(0, 2).paragraphs[0].add_run('允许为空')run.font.name = '宋体'run.bold = True  # 加粗# table.cell(0,3).text='字段说明'run = table.cell(0, 3).paragraphs[0].add_run('字段说明')run.font.name = '宋体'run.bold = True  # 加粗table.add_row()table.cell(i, 0).text = u[1]table.cell(i, 1).text = u[2]table.cell(i, 2).text = u[3]table.cell(i, 3).text = u[4]i = i + 1document.save(path)if __name__ == '__main__':path = 'D:/数据库字典.docx'exportDbInfoWord(path);print('完成')

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/318824.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

我的创作纪念日三年收获和感悟

机缘 我刚开始接触创作也是最近几年开始,当初就是希望自己的收获分享给大家,不仅使自己成长,也可以带着大家一起成长,独乐乐不如众乐乐,人都是自私的以前我都是看到好的知识文章都是自己藏起来,发现收获的…

基于ssm食品安全追溯系统论文

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本食品安全追溯系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息…

基于SSM实验室排课系统+vue论文

目 录 目 录 I 摘 要 III ABSTRACT IV 1 绪论 1 1.1 课题背景 1 1.2 研究现状 1 1.3 研究内容 2 2 系统开发环境 3 2.1 vue技术 3 2.2 JAVA技术 3 2.3 MYSQL数据库 3 2.4 B/S结构 4 2.5 SSM框架技术 4 3 系统分析 5 3.1 可行性分析 5 3.1.1 技术可行性 5 3.1.2 操作可行性 5 3…

Linux内核源码下载与在线浏览10种方式

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒…

【设计模式】二十一.行为型模式之状态模式

状态模式 一. 说明 状态模式通常描述一个类不同行为的多个状态变更,对象的行为依赖它的状态,它是一种行为型模式。 状态模式可以用来消除代码中大量的if-else结构,它明确对象是有状态的、对象的不同状态对应的行为不一样、行为之间是可以切…

鸿蒙开发学习——基本组件

文章目录 引言正文Image组件设置加载网络图片图片属性设置 Text组件设置文本显示内容text属性设置 TextInput输入文本TextInput Controller获取输入文本 Button按钮 引言 最近在学习鸿蒙系统开发,然后对着文档看还是有很多问题,这里结合官方给的demo进行…

Baumer工业相机堡盟工业相机如何通过NEOAPI SDK实现相机掉线自动重连(C++)

Baumer工业相机堡盟工业相机如何通过NEOAPI SDK实现相机掉线自动重连(C) Baumer工业相机Baumer工业相机的掉线自动重连的技术背景通过PnP事件函数检查Baumer工业相机是否掉线在NEOAPI SDK里实现相机掉线重连方法:工业相机掉线重连测试演示图 …

魔改版小市值策略

策略思路 最近几年,小市值策略一直都收益不错(当然,不包含17年和18年)。小市值因子对收益的影响是很大的。特别是行情不好的时候,大家都忙着炒作热点,那么这时候符合题材的小市值更加符合炒作标准了。 为…

《使用ThinkPHP6开发项目》 - ThinkPHP6创建菜单模块

#CSDN 年度征文|回顾 2023,赢专属铭牌等定制奖品# 一、创建菜单模块 1、创建系统菜单表 CREATE TABLE menu (id int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 菜单ID,menu_name varchar(32) NOT NULL DEFAULT COMMENT 菜单名称,path varchar(2…

技术学习|CDA level I 描述性统计分析(常用的数据分布)

推断性统计分析方法的基础理论——常用的分布(两点分布、二项分布、正态分布[含标准正态分布]、χ2分布、t分布、F分布。 随机试验:结果不确定的实验,例如,进行一次抛硬币实验,结果是不确定的。对于随机试验的结果&am…

EM算法公式详细推导

EM算法是什么? EM算法是一种迭代算法,用于含隐变量概率模型参数的极大似然估计,或极大后验概率估计。EM算法由两步组成:E步,求期望;M步:求极大。EM算法的优点是简单性和普适性。 符号说明&…

关于系统设计的一些思考

0.前言 当我们站在系统设计的起点,面对一个新的需求,我们该如何开始呢?这是许多处于系统分析与设计领域的新手常常思考的问题。有些人可能会误以为,只要掌握了诸如面向对象、统一建模语言、设计模式、微服务、Serverless、Servic…