一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种支持多字段类型markdown数据库文档转sql建表语句的方法与流程

2022-06-01 06:58:56 来源:中国专利 TAG:


1.本发明涉及数据处理领域,尤其涉及一种支持多字段类型markdown数据库文档转sql建表语句的方法。


背景技术:

2.markdown作为一种轻量级标记语言,它能将纯文本导出为xhtml、html、pdf 以及.md文档,具有易读易写、直观和学习成本低等优点,极大的提升了人们在日常记录文档时的简易性。
3.由于markdown的轻量化、易读易写特性,并且对于图片,图表、数学式都有支持,许多网站都广泛使用markdown来撰写帮助文档或是用于论坛上发表消息。
4.工作中使用markdown来编写mysql数据表可以使得开发人员能够清晰的获取当前各张表格的设计情况,可以借此对方案的设计进行讨论优化,如果后续数据表内容发生更新时,表格不需重构,只需更改更新部分的内容即可,减少工作量。但是markdown数据表在sql建表时缺乏简洁有效的方法,在将markdown上的数据表转化为sql建表语句的过程中往往会耗费较多的精力。


技术实现要素:

5.为了解决以上技术问题,本发明提供了一种支持多字段类型markdown数据库文档转sql建表语句的方法,简化建表过程,缩短建表时间,同时也为使用者减少了出现错误的几率,具有较高的可用性。
6.本发明的技术方案是:
7.一种支持多字段类型markdown数据库文档转sql建表语句的方法,
8.将数据和格式进行分离,把文本内容划分为模板和数据两个部分,模板可固定格式。
9.进一步的,
10.分为三部分:
11.初始化模板,模板的设计可根据自身需求做出相应的调整,支持个性化;
12.处理数据,采用将数据文本进行处理拼接;
13.返回结果,将拼接好的sql语句保存为json,返回结果。
14.其中,
15.初始化模板,需要配置char、varchar、int参数。
16.然后制定数据格式,#号为表名,然后接空格,注释表名;表头设置为3列,字段|参数|备注。
17.数据库引擎设置为innodb,使用utf-8编码,建表前删除同名表重建。
18.进一步的,
19.处理数据,包括:
20.1)接收用户输入的markdown格式的数据库文本;
21.2)将数据库文本按照不同字段分割为一个以上的字符串,存入数组;
22.3)判断数组中数据是否符合字段名、字段属性字符串、注释的格式;
23.4)逐个从数组中的字符串中提取出该字段的字段名、字段属性字符串以及字段注释。
24.5)根据设置的类型对应获取字段类型;
25.6)根据字段属性字符串中字段类型后的数字获取该字段长度;
26.7)根据字段属性字符串中是否存在“key”判断该字段是否为主键;
27.8)根据字段属性字符串中是否存在“auto”判断该字段是否自增;
28.9)若字段属性字符串中存在“null”则判断该字段可以为空,如存在“not null”则判断该字段为非空;
29.10)字段默认值可以分为文本类、数字类和时间类默认值;
30.11)将上述字段信息进行拼接。
31.再进一步的,
32.步骤5)中,设置的字段类型可自行扩展。
33.本发明的有益效果是
34.1、支持多字段类型markdown文档转sql建表语句的方法,简洁的实现文档到数据表的转换,提升了用户的工作效率,降低了人工成本;
35.2、支持多字段类型markdown文档转sql建表语句的方法将前期预定好格式的文档统一转化为sql语句,模板引擎格式可定制,使用灵活方便,同时通过这种方法降低了出错的概率。
附图说明
36.图1是markdown格式文本生成建表sql语句的流程图。
具体实施方式
37.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
38.在本应用场景中,文本的格式是规定的,但是文本内容各有不同。
39.针对文本内容比较简单的情况下,可以直接使用代码来生成所需要的文本,但是当文本内容差别较大的时候,直接使用代码处理生成文本的成本就会大大增加,并且在后续维护的过程中也会比较麻烦。因此,采用将数据和格式进行分离的方式来解决这个问题,将文本内容划分为模板和数据两个部分,模板可以固定格式,提升了文本处理的灵活度和处理速度。
40.本发明提供了一种支持tinyint、mediumint、int、float、double、char、 varchar等众多字段类型的markdown数据库文档转换为mysql建表语句的方法,将原本繁琐费时的
建表过程进行了简化,同时可根据使用者的最新需求添加新的可转化字段类型,使用过程灵活便捷。
41.本方法设计的主要流程可以分为三部分:初始化模板、处理数据、返回结果。
42.1、初始化模板
43.模板的设计可以根据自身需求做出相应的调整,支持个性化,下面针对一个示例做出介绍。
44.1)配置诸如char、varchar、int等参数;
45.2)随后制定数据格式,#号为表名,然后接空格,注释表名,例如#sys_base 系统基础表;表头设置为3列,字段|参数|备注,例如id|int 11key auto|主键id;
46.3)数据库引擎设置为innodb,使用utf-8编码,建表前删除同名表重建。
47.2、处理数据
48.1)接收用户输入的markdown格式的数据库文本;
49.2)将数据库文本按照不同字段分割为多个字符串,存入数组;
50.3)判断数组中数据是否符合字段名、字段属性字符串、注释的格式;
51.4)逐个从数组中的字符串中提取出该字段的字段名、字段属性字符串以及字段注释;
52.5)根据设置的类型(设置的字段类型可自行扩展)对应获取字段类型;
53.6)根据字段属性字符串中字段类型后的数字获取该字段长度;
54.7)根据字段属性字符串中是否存在“key”判断该字段是否为主键;
55.8)根据字段属性字符串中是否存在“auto”判断该字段是否自增;
56.9)若字段属性字符串中存在“null”则判断该字段可以为空,如存在“not null”则判断该字段为非空;
57.10)字段默认值可以分为文本类、数字类和时间类默认值;
58.11)将上述字段信息进行拼接。
59.3、返回结果
60.将拼接好的sql语句保存为json,返回结果。
61.本方法可以通过规定格式直接将markdown格式的数据表一键转化为mysql建表语句,提升了转换速率,降低了人工转换耗时,可以将使用者从枯燥繁复的建表过程中解放出来。
62.同时,使用规定的格式转换也可以在一定程度上减少人为转换过程中容易出现的诸如拼写错误、漏写等问题,提高了准确率,确保了数据的可靠性和可用性。
63.以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献