利用Python将数据库建表语句转成表格的形式(可以大幅提高书写数据库设计文档的效率)

利用Python将数据库建表语句转成表格的形式(可以大幅提高书写数据库设计文档的效率),第1张

概述一、遇到的问题相信很多程序员都书写数据库设计文档,里面往往需要给出该软件系统涉及到的所有数据库表的信息。如果是采用手动的一个个复制所有表的所有字段信息到word文档的表格中去,那一定是一件非常痛苦的事,费时且费力。上网搜索了一下也没有找到合适的解决方案,以下是我提供的 一、遇到的问题

相信很多程序员都书写过数据库设计文档,里面往往需要给出该软件系统涉及到的所有数据库表的信息。如果是采用手动的一个个复制所有表的所有字段信息到word文档的表格中去,那一定是一件非常痛苦的事,费时且费力。上网搜索了一下也没有找到合适的解决方案,以下是我提供的两种解决方案,特此记录与大家分享。

二、解决方案方案一

拿到建表语句,利用word自带的文字转表格的功能来处理。具体步骤大家可以自行百度搜索一下,这里不展开说了。但这种方式需要对每一条建表语句做处理,构造成一定的格式才能转,依然不是很方便。

方案二

思路:

首先也是拿到建表语句,然后获取每一个字段中想要的信息,构造出一个二维列表来,其中一行代表一个字段,每一列代表了字段的相关信息,比如数据类型、长度等等。然后将这个二维列表写入到一个Excel文件中,最后就可以直接将内容复制粘贴到word的表格中去了。

代码:

【注】这段代码不需要其他第三方库的支持。

ddl = """`ID` bigint(20) NOT NulL auto_INCREMENT COMMENT '主键',  `MERCHANT_name` varchar(50) DEFAulT NulL COMMENT '商户名称',  `MERCHANT_NO` varchar(32) DEFAulT NulL COMMENT '企业编号',  `MERCHANT_ADDRESS` varchar(255) DEFAulT NulL COMMENT '企业地址',  `MERCHANT_TYPE` varchar(50) DEFAulT NulL COMMENT '商户类型',  `BUSInesS_liCENSES_img` varchar(100) DEFAulT NulL COMMENT '营业执照(企业证明)',  `ID_CARD_FRONT_img` varchar(100) DEFAulT NulL COMMENT '法人身份z正面照片',  `ID_CARD_AFTER_img` varchar(100) DEFAulT NulL COMMENT '法人身份z反面照片',  `USERname` varchar(50) DEFAulT NulL COMMENT '联系人姓名',  `MOBILE` varchar(50) DEFAulT NulL COMMENT '联系人手机号(关联统一账号)',  `CONTACTS_ADDRESS` varchar(255) DEFAulT NulL COMMENT '联系人地址',  `AUDIT_STATUS` varchar(20) DEFAulT NulL COMMENT '审核状态。0-未申请,1-已申请待审核,2-审核通过,3-审核拒绝',  `TENANT_ID` bigint(20) DEFAulT NulL COMMENT '租户ID,关联统一用户',"""# 表头result = [['序号', '列名', '数据类型', '长度', '允许空', '说明']]# 将语句按行拆分成一个列表spam = ddl.split('\n')for i in range(len(spam)):    s = spam[i]    s = s.strip()  # 删除字符串两边的空白字符    s = s.replace('NOT NulL auto_INCREMENT COMMENT', '否')  # 允许空设为否    s = s.replace('DEFAulT NulL COMMENT', '是')  # 允许空设为是    # 长度    s = s.replace('(', ' ')    s = s.replace(')', '')    # 去除`和'以及行尾的,    s = s.replace('`', '')    s = s.replace("'", '')    s = s.replace(',', '')    temp = s.split(' ')  # 将每一行再按空格拆分成一个列表    temp.insert(0, str(i + 1))  # 设置序号    result.append(temp)  # 构建二维列表# 构建二维列表完毕,准备写入Excel文件中。当然前提是得先创建一个Excel文档,这里我是在D盘下创建了一个名为out.xlsx的Excel文档。output = open('D:\out.xlsx', 'w', enCoding='gbk')for i in range(len(result)):    for j in range(len(result[i])):        output.write(result[i][j])        output.write('\t')  # 相当于Tab一下,换一个单元格    output.write('\n')  # 写完一行立马换行output.close()

效果:

三、感悟

作为一个程序员要时刻以程序员的思维来思考问题,编程的目的就是为了让繁琐工作自动化。

总结

以上是内存溢出为你收集整理的利用Python将数据库建表语句转成表格的形式(可以大幅提高书写数据库设计文档的效率)全部内容,希望文章能够帮你解决利用Python将数据库建表语句转成表格的形式(可以大幅提高书写数据库设计文档的效率)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1159230.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存