CN106202008B - 一种MySQL数据库结构化文档生成方法及装置 - Google Patents

一种MySQL数据库结构化文档生成方法及装置 Download PDF

Info

Publication number
CN106202008B
CN106202008B CN201610489506.2A CN201610489506A CN106202008B CN 106202008 B CN106202008 B CN 106202008B CN 201610489506 A CN201610489506 A CN 201610489506A CN 106202008 B CN106202008 B CN 106202008B
Authority
CN
China
Prior art keywords
column
html
information
database
label
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201610489506.2A
Other languages
English (en)
Other versions
CN106202008A (zh
Inventor
张利平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xicheng Holdings Group Co.,Ltd.
Original Assignee
Wuhan Douyu Network Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuhan Douyu Network Technology Co Ltd filed Critical Wuhan Douyu Network Technology Co Ltd
Priority to CN201610489506.2A priority Critical patent/CN106202008B/zh
Publication of CN106202008A publication Critical patent/CN106202008A/zh
Application granted granted Critical
Publication of CN106202008B publication Critical patent/CN106202008B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种文档生成方法及装置,属于数据处理领域,具体是涉及一种MySQL数据库结构化文档生成方法及装置。包括:步骤1,创建一个空的HTML文档,获取要生成文档的数据库名dbname;步骤2,在MySQL的information_schema数据库的tables表和columns表中检索属于数据库名为dbname的表信息和列信息;步骤3:根据步骤2中获取的表信息和列信息,生成HTML文档。总体而言,本发明所构思的以上技术方案与现有技术相比,本发明利用程序自动生成MySQL结构文档,免去手动维护的麻烦,提升了用户体验。

Description

一种MySQL数据库结构化文档生成方法及装置
技术领域
本发明涉及一种文档生成方法及装置,属于数据处理领域,具体是涉及一种MySQL数据库结构化文档生成方法及装置。
背景技术
MySQL是一个开放源代码的关系数据库管理系统,广泛地应用在互联网上的网站中。关系数据库 是创建在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。
在很多网站开发中,都需要用到 MySQL 数据库。开发人员为了了解数据库结构,就需要维护一份 MySQL 结构文档。但是每次更改了数据库结构以后,再去手动更新数据库结构文档,很繁琐和费事。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种MySQL数据库结构化文档生成方法及装置,其目的在于,解决手动更新数据库结构文档所导致的操作繁琐、复杂问题。
为了解决上述问题,根据本发明的一个方面,提供了一种MySQL数据库结构化文档生成方法,包括:
步骤1,创建一个空的HTML文档,获取要生成文档的数据库名dbname;
步骤2,在MySQL的information_schema数据库的tables表中检索属于数据库名为dbname的表记录得到表记录集合;
步骤3:遍历表记录集合,对于每一个表记录,执行以下操作:
步骤301,为每一个表记录生成一个HTML标题标签,将表记录中的表名字tablename和表注释加入HTML标题标签;
步骤302,在HTML标题标签下生成一个HTML表格标签,从MySQL的information_schema数据库的 columns表中检索所有库名字是dbname并且表名字是tablename的记录得到列记录集合;
步骤303,遍历列记录集合,对于每一条列记录,取出列相关信息,加入HTML表格标签中;
步骤304,将HTML表格标签和HTML标题标签写入HTML文档中并存储。
优选的,上述的一种MySQL数据库结构化文档生成方法,加入HTML表格标签中的列信息包括:列名称,列类型,列默认值,列的键类型,列注释,列是否可为空中的一种或多种。
优选的,上述的一种MySQL数据库结构化文档生成方法,从MySQL数据库中的information_schema数据库中获取dbname相关的表信息和列信息。
为了解决上述问题,根据本发明的一个方面,提供了一种一种MySQL数据库结构化文档生成装置,包括:
文档创建模块,创建一个空的HTML文档,获取要生成文档的数据库名dbname;
表集合获取模块,在MySQL的information_schema数据库的tables表中检索属于数据库名为dbname的表记录得到表记录集合;
表标签生成模块:遍历表记录集合,对于每一个表记录,执行以下操作:
标题标签生成单元,为每一个表记录生成一个HTML标题标签,将表记录中的表名字tablename和表注释加入HTML标题标签;
表格标签生成单元,在HTML标题标签下生成一个HTML表格标签,从MySQL的information_schema数据库的columns表中检索所有库名字是dbname并且表名字是tablename的记录得到列记录集合;
列信息添加单元,遍历列记录集合,对于每一条列记录,取出列相关信息,加入HTML表格标签中;
信息存储单元,将HTML表格标签和HTML标题标签写入HTML文档中并存储。
优选的,上述的一种MySQL数据库结构化文档生成装置,加入HTML表格标签中的列信息包括:列名称,列类型,列默认值,列的键类型,列注释,列是否可为空中的一种或多种。
优选的,上述的一种MySQL数据库结构化文档生成装置,从MySQL数据库中的information_schema数据库中获取dbname相关的表信息和列信息。
总体而言,本发明所构思的以上技术方案与现有技术相比, 本发明利用程序自动生成MySQL结构文档,免去手动维护的麻烦,提升了用户体验。
附图说明
附图1是本发明的流程示意图。
附图2是本发明的结构示意图。
具体实施方式
下面通过实施例,并结合附图,对本发明的技术方案作进一步具体的说明。
一种MySQL数据库结构化文档生成方法,包括:
步骤1,创建一个空的HTML文档,获取要生成文档的数据库名dbname;
步骤2,在MySQL的information_schema数据库的tables表中检索属于数据库名为dbname的表记录得到表记录集合;
步骤3:遍历表记录集合,对于每一个表记录,执行以下操作:
步骤301,为每一个表记录生成一个HTML标题标签,将表记录中的表名字tablename和表注释加入HTML标题标签;
步骤302,在HTML标题标签下生成一个HTML表格标签,从MySQL的information_schema数据库的columns表中检索所有库名字是dbname并且表名字是tablename的记录得到列记录集合;
步骤303,遍历列记录集合,对于每一条列记录,取出列相关信息,加入HTML表格标签中;
步骤304,将HTML表格标签和HTML标题标签写入HTML文档中并存储。
其中,加入HTML表格标签中的列信息包括:列名称,列类型,列默认值,列的键类型,列注释,列是否可为空中的一种或多种。
其中,可以从MySQL数据库中的information_schema数据库中获取dbname相关的表信息和列信息。
一种MySQL数据库结构化文档生成装置,包括:
文档创建模块,创建一个空的HTML文档,获取要生成文档的数据库名dbname;
表集合获取模块,在MySQL的information_schema数据库的tables表中检索属于数据库名为dbname的表记录得到表记录集合;
表标签生成模块:遍历表记录集合,对于每一个表记录,执行以下操作:
标题标签生成单元,为每一个表记录生成一个HTML标题标签,将表记录中的表名字tablename和表注释加入HTML标题标签;
表格标签生成单元,在HTML标题标签下生成一个HTML表格标签,从MySQL的information_schema数据库的columns表中检索所有库名字是dbname并且表名字是tablename的记录得到列记录集合;
列信息添加单元,遍历列记录集合,对于每一条列记录,取出列相关信息,加入HTML表格标签中;
信息存储单元,将HTML表格标签和HTML标题标签写入HTML文档中并存储。
其中,加入HTML表格标签中的列信息包括:列名称,列类型,列默认值,列的键类型,列注释,列是否可为空中的一种或多种。
其中,可以从MySQL数据库中的information_schema数据库中获取dbname相关的表信息和列信息。
实施例1
首先,对本实施例的术语进行说明。
(1)HTML 超文本标记语言是一种用于创建网页的标准标记语言。HTML标记包含标签(及其属性)、基于字符的数据类型、字符引用和实体引用等几个关键部分。HTML标签是最常见的,通常成对出现,比如<h1>与 </h1>,表示一级标题标签,比如<table>与 </table>,表示表格标签。
(2)MySQL 是一个开放源代码的关系数据库管理系统,广泛地应用在互联网上的网站中。
(3)关系数据库 是创建在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。
(4)数据表是以行和列的形式组织起来的数据的集合。一个数据库包括一个或多个表。例如,一个用户表如下:
name age gender
张三 25
李四 30
本实施例描述了一种MySQL结构文档的自动生成方案。在很多网站开发中,都需要用到 MySQL 数据库。开发人员为了了解数据库结构,就需要维护一份 MySQL 结构文档。但是每次更改了数据库结构以后,再去手动更新数据库结构文档,很繁琐和费事。在本方案中,本实施例可以利用程序自动生成MySQL结构文档,免去手动维护的麻烦。
在 MySQL 中,有一个名为 information_schema 的数据库,其中记录了MySQL数据库本身的一些信息,如表信息,列信息等。在本方案中,本实施例使用information_schema 中的两个表:tables 和 columns。其中,tables 记录了表相关的信息,columns 记录了列相关的信息。
tables 表和columns表有多个列,用到的列如下:
table_schema 数据库名称。
table_name 表名字。
table_comment 表注释。
column_name 列名称。
column_type 列类型。
column_default 列默认值。
column_key 列的键类型。
column_comment 列注释。
is_nullable 是否可为空。
extra 其他附加信息。
首先,本实施例从 MySQL的information_schema 数据库的tables 表中按数据库名字取出所有表和表注释。然后,对于每一个表,本实施例再从 MySQL的information_schema 数据库的columns 表中按数据库名字和表名字取出所有列相关信息。然后本实施例使用这些信息生成 HTML 页面。对于每个表,本实施例生成一个 HTML 的头标签,里面写入表名称和表注释,再生成一个 HTML 表格,里面是这个表中所有列相关的信息,如列名称,列类型,列默认值,列的键类型,列注释,列是否可为空,其他附加信息等。
本方案流程图如图1所示,具体如下:
步骤1:生成一个空HTML文档,获取要生成文档的数据库名字,下称 dbname。
步骤2:从 MySQL的information_schema 数据库的tables 表中检索所有数据库名字是 dbname 的记录,下称表记录。
步骤3:取出所有表记录集合,依次进行处理。
步骤4:判断表记录集合处理是否处理完毕。如处理完成,跳转到步骤14。否则进行下一步骤。
步骤5:从表记录集合中取出一条未处理的表记录。
步骤6:生成一个HTML标题标签,将表记录中的表名字(下称tablename)和表注释加入HTML标题标签。
步骤7:生成一个HTML表格标签。
步骤8:从 MySQL的information_schema 数据库的columns 表中检索所有库名字是 dbname 并且 表名字是 tablename 的记录,下称列记录。
步骤9:取出所有列记录集合,依次进行处理。
步骤10:从列记录中集合中取出一条未处理的列记录。
步骤11:从列记录取出列相关信息,加入HTML表格标签中。在此步骤中,本实施例要加入到表格中的信息有:列名称,列类型,列默认值,列的键类型,列注释,列是否可为空,其他附加信息等。
步骤12:判断列记录是否处理完毕。如果处理完毕,跳转到步骤13,否则跳转到步骤10。
步骤13:将HTML标题标签和HTML表格标签加入HTML文档中。跳转到步骤4。
步骤14:存储HTML文档,结束。
以上方法实施例和装置实施例是一一对应的,因此方法实施例的扩展方式亦可用于装置实施例。
本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。

Claims (6)

1.一种MySQL数据库结构化HTML文档生成方法,其特征在于,包括:
步骤1,创建一个空的HTML文档,获取要生成文档的数据库名dbname;
步骤2,在MySQL的information_schema数据库的tables表中检索属于数据库名为dbname的表记录得到表记录集合;
步骤3:遍历表记录集合,对于每一个表记录,执行以下操作:
步骤301,为每一个表记录生成一个HTML标题标签,将表记录中的表名字tablename和表注释加入HTML标题标签;
步骤302,在HTML标题标签下生成一个HTML表格标签,从MySQL的information_schema数据库的columns表中检索所有库名字是dbname并且表名字是tablename的记录得到列记录集合;
步骤303,遍历列记录集合,对于每一条列记录,取出列相关信息,加入HTML表格标签中;
步骤304,将HTML表格标签和HTML标题标签写入HTML文档中并存储。
2.根据权利要求1所述的一种MySQL数据库结构化HTML文档生成方法,其特征在于,加入HTML表格标签中的列信息包括:列名称,列类型,列默认值,列的键类型,列注释,列是否可为空中的一种或多种。
3.根据权利要求1所述的一种MySQL数据库结构化HTML文档生成方法,其特征在于,从MySQL数据库中的information_schema数据库中获取dbname相关的表信息和列信息。
4.一种MySQL数据库结构化HTML文档生成装置,其特征在于,包括:
文档创建模块,创建一个空的HTML文档,获取要生成文档的数据库名dbname;
表集合获取模块,在MySQL的information_schema数据库的tables表中检索属于数据库名为dbname的表记录得到表记录集合;
表标签生成模块:遍历表记录集合,对于每一个表记录,执行以下操作:
标题标签生成单元,为每一个表记录生成一个HTML标题标签,将表记录中的表名字tablename和表注释加入HTML标题标签;
表格标签生成单元,在HTML标题标签下生成一个HTML表格标签,从MySQL的information_schema数据库的columns表中检索所有库名字是dbname并且表名字是tablename的记录得到列记录集合;
列信息添加单元,遍历列记录集合,对于每一条列记录,取出列相关信息,加入HTML表格标签中;
信息存储单元,将HTML表格标签和HTML标题标签写入HTML文档中并存储。
5.根据权利要求4所述的一种MySQL数据库结构化HTML文档生成装置,其特征在于,加入HTML表格标签中的列信息包括:列名称,列类型,列默认值,列的键类型,列注释,列是否可为空中的一种或多种。
6.根据权利要求4所述的一种MySQL数据库结构化HTML文档生成装置,其特征在于,从MySQL数据库中的information_schema数据库中获取dbname相关的表信息和列信息。
CN201610489506.2A 2016-06-28 2016-06-28 一种MySQL数据库结构化文档生成方法及装置 Active CN106202008B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610489506.2A CN106202008B (zh) 2016-06-28 2016-06-28 一种MySQL数据库结构化文档生成方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610489506.2A CN106202008B (zh) 2016-06-28 2016-06-28 一种MySQL数据库结构化文档生成方法及装置

Publications (2)

Publication Number Publication Date
CN106202008A CN106202008A (zh) 2016-12-07
CN106202008B true CN106202008B (zh) 2019-04-05

Family

ID=57462400

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610489506.2A Active CN106202008B (zh) 2016-06-28 2016-06-28 一种MySQL数据库结构化文档生成方法及装置

Country Status (1)

Country Link
CN (1) CN106202008B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111241800A (zh) * 2020-01-17 2020-06-05 深圳震有科技股份有限公司 MySQL数据库表结构文档的生成方法、存储介质及智能终端
CN111352986A (zh) * 2020-02-28 2020-06-30 平安科技(深圳)有限公司 一种数据库表结构导出的方法、装置及终端设备
CN111859864A (zh) * 2020-06-28 2020-10-30 中国软件与技术服务股份有限公司 一种将库数据转化为流式文档方法及转换工具

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101171582A (zh) * 2005-05-09 2008-04-30 阿玛得斯两合公司 用于从数据库生成xml文档的动态方法
CN102402626A (zh) * 2011-12-28 2012-04-04 用友软件股份有限公司 版本继承数据的动态查询系统和方法
CN103530327A (zh) * 2013-09-25 2014-01-22 清华大学深圳研究生院 一种从非关系型数据库到关系型数据库的数据迁移方法
CN104715032A (zh) * 2015-03-12 2015-06-17 福建工程学院 一种报表系统中英文表名字段名映射系统及方法
CN105005592A (zh) * 2015-06-29 2015-10-28 用友优普信息技术有限公司 数据字典生成方法和数据字典生成装置
CN105354287A (zh) * 2015-10-30 2016-02-24 北京奇艺世纪科技有限公司 数据库元数据的获取方法及装置
CN105574016A (zh) * 2014-10-14 2016-05-11 镇江鼎拓科技信息有限公司 一种半结构化Web信息抽取技术的方法
CN105589959A (zh) * 2015-12-22 2016-05-18 北京京东尚科信息技术有限公司 表单处理方法和表单系统

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101171582A (zh) * 2005-05-09 2008-04-30 阿玛得斯两合公司 用于从数据库生成xml文档的动态方法
CN102402626A (zh) * 2011-12-28 2012-04-04 用友软件股份有限公司 版本继承数据的动态查询系统和方法
CN103530327A (zh) * 2013-09-25 2014-01-22 清华大学深圳研究生院 一种从非关系型数据库到关系型数据库的数据迁移方法
CN105574016A (zh) * 2014-10-14 2016-05-11 镇江鼎拓科技信息有限公司 一种半结构化Web信息抽取技术的方法
CN104715032A (zh) * 2015-03-12 2015-06-17 福建工程学院 一种报表系统中英文表名字段名映射系统及方法
CN105005592A (zh) * 2015-06-29 2015-10-28 用友优普信息技术有限公司 数据字典生成方法和数据字典生成装置
CN105354287A (zh) * 2015-10-30 2016-02-24 北京奇艺世纪科技有限公司 数据库元数据的获取方法及装置
CN105589959A (zh) * 2015-12-22 2016-05-18 北京京东尚科信息技术有限公司 表单处理方法和表单系统

Also Published As

Publication number Publication date
CN106202008A (zh) 2016-12-07

Similar Documents

Publication Publication Date Title
US11914954B2 (en) Methods and systems for generating declarative statements given documents with questions and answers
US9934220B2 (en) Content revision using question and answer generation
US11093520B2 (en) Information extraction method and system
CN102207948B (zh) 一种事件陈述句素材库的生成方法
US20090300043A1 (en) Text based schema discovery and information extraction
CN105373541B (zh) 数据库的数据操作请求的处理方法和系统
JP2010538375A5 (zh)
US10467262B2 (en) Customized visualization based intelligence augmentation
CN106202008B (zh) 一种MySQL数据库结构化文档生成方法及装置
CN104021198A (zh) 基于本体语义索引的关系数据库信息检索方法及装置
CN102646091A (zh) 依存关系标注方法、装置和系统
CN111143370B (zh) 用于分析多个数据表之间关系的方法、设备和计算机可读存储介质
CN112463986A (zh) 信息存储的方法及装置
JPWO2020208448A5 (zh)
CN116821376B (zh) 煤矿安全生产领域的知识图谱构建方法及系统
US11789940B2 (en) Natural language interface to databases
Kim et al. Customer preference analysis based on SNS data
CN111897573A (zh) 数据库字典文档的生成方法、装置、设备及存储介质
CN111475534A (zh) 一种数据查询方法及相关设备
CN103678607B (zh) 一种情感标注系统的构建方法
JP2007304644A (ja) 静的ウェブページ生成方法、プログラム、記録媒体及び静的ウェブページ生成管理システム
CN105740406A (zh) 一种信息标引和检索方法
US20190164092A1 (en) Determining risk assessment based on assigned protocol values
JP2017534992A5 (zh)
CN106909570B (zh) 一种数据转换方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20231207

Address after: Room 705, 706, 707, and 708, Building 2, No. 56 Lingzhi Road, Xuanwu District, Nanjing City, Jiangsu Province, 210000

Patentee after: Xicheng Holdings Group Co.,Ltd.

Address before: 430000 East Lake Development Zone, Wuhan City, Hubei Province, China Science and Technology Park Innovation Enterprise Base 2 A Unit 2

Patentee before: WUHAN DOUYU NETWORK TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right