学习shell脚本编程的一次实践,通过shell脚本生成数据库的markdown文档,代码如下:

 HOST=xxxxxx
PORT=xxxx
USER="xxxxx"
PASSWORD="xxxxxx"
DATABASE_PREFIX="xxxxxx" QUERY_DATABASE="select distinct TABLE_SCHEMA from information_schema.TABLES where TABLE_TYPE='BASE TABLE'"
databaseList=$(mysql -h ${HOST} -u ${USER} -p${PASSWORD} -e "${QUERY_DATABASE}") for database in ${databaseList}
do
if [[ ${database} == *${DATABASE_PREFIX}* ]]
then
echo "Start ${database}"
echo "### ${database}" >> test.md
queryTable="select distinct TABLE_NAME from information_schema.COLUMNS where TABLE_SCHEMA='${database}'"
tableList=$(mysql -h ${HOST} -u ${USER} -p${PASSWORD} -N -e "${queryTable}")
for table in ${tableList}
do if [ $(grep -c "#### ${table%_*}_0" test.md) -ne '0' ]
then
continue
fi echo "Start print table:${table}"
echo "#### ${table}" >> test.md
echo "名称 | 类型 | 是否可为空 | Key | 说明" >> test.md
echo "--|--|--|--|--" >> test.md
queryCloumns="select COLUMN_NAME, replace(COLUMN_TYPE,' ',''),IS_NULLABLE,CONCAT(COLUMN_KEY,'+++++++++'),CONCAT(replace(COLUMN_COMMENT,' ',''),'+++++++++') from information_schema.COLUMNS where TABLE_NAME='${table}' and TABLE_SCHEMA='${database}' order by ORDINAL_POSITION" columnList=$(mysql -h ${HOST} -u ${USER} -p${PASSWORD} -N -e "${queryCloumns}")
count=0
row=""
for column in ${columnList}
do
row="${row} ${column} | " let count++
if [[ ${count} == 5 ]]
then
echo ${row} >> test.md
count=0
row=""
fi
done
done fi
done

使用shell脚本生成数据库markdown文档的更多相关文章

  1. 用PDMReader工具生成数据库设计文档(转载)

    来源:http://blog.csdn.net/xinglun88/article/details/19987719 第一步:下载并安装PDMReader,资源网站: http://www.pdmre ...

  2. 使用Python从Markdown文档中自动生成标题导航

    概述 知识与思路 代码实现 概述 Markdown 很适合于技术写作,因为技术写作并不需要花哨的排版和内容, 只要内容生动而严谨,文笔朴实而优美. 为了编写对读者更友好的文章,有必要生成文章的标题导航 ...

  3. Markdown 文档生成工具

    之前用了很多Markdown 文档生成工具,发现有几个挺好用的,现在整理出来,方便大家快速学习. loppo: 非常简单的静态站点生成器 idoc:简单的文档生成工具 gitbook:大名鼎鼎的文档协 ...

  4. 优于 swagger 的 java markdown 文档自动生成框架-01-入门使用

    设计初衷 节约时间 Java 文档一直是一个大问题. 很多项目不写文档,即使写文档,对于开发人员来说也是非常痛苦的. 不写文档的缺点自不用多少,手动写文档的缺点也显而易见: 非常浪费时间,而且会出错. ...

  5. Atitit 数据库表文档生成解决方案

    Atitit 数据库表文档生成解决方案 1.1. Sql dml文件结构法 最快速1 1.2. Sql法+sp存储过程 (表格式样)1 1.3. Navicate uml法 (uml格式)2 1.4. ...

  6. 基于 React 开发了一个 Markdown 文档站点生成工具

    Create React Doc 是一个使用 React 的 markdown 文档站点生成工具.就像 create-react-app 一样,开发者可以使用 Create React Doc 来开发 ...

  7. NET 5.0 Swagger API 自动生成MarkDown文档

    目录 1.SwaggerDoc引用 主要接口 接口实现 2.Startup配置 注册SwaggerDoc服务 注册Swagger服务 引用Swagger中间件 3.生成MarkDown 4.生成示例 ...

  8. C#实现生成Markdown文档目录树

    前言 之前我写了一篇关于C#处理Markdown文档的文章:C#解析Markdown文档,实现替换图片链接操作 算是第一次尝试使用C#处理Markdown文档,然后最近又把博客网站的前台改了一下,目前 ...

  9. 最简单,最实用的数据库CHM文档生成工具——DBCHM

    DBCHM支持SqlServer/MySql/Oracle/PostgreSQL等数据库的表列批注维护管理. DBCHM有以下几个功能 表,列的批注可以编辑保存到数据库. 表,列的批注支持通过pdm文 ...

随机推荐

  1. mif文件生成方法

    mif文件就是存储器初始化文件,即memory initialization file,用来配置RAM或ROM中的数据.常见生成方法: Quartus自带的mif编辑器生成 mif软件生成 高级编程语 ...

  2. iphone开发笔记

    1.uiimage图片拉伸 - (void)stretchBackgroundImage { //UIImage *originalImage = [[self backgroundImageForS ...

  3. 【转】svn图标不显示的解决方案

    最近发现svn图标莫名其妙的不显示,其他操作都正常.在网上搜了一些方法. 解决方法一(失败): 升级最新版本,我的本来就是最新版本 解决方法二(失败): 右键->TortoiseSVN-> ...

  4. python_62_装饰器5

    import time def timer(func): #timer(test1) func=test1 def deco(*args,**kwargs): start_time=time.time ...

  5. 操作表单 -------JavaScrip

    本文摘要:http://www.liaoxuefeng.com/ HTML表单的输入控件主要有以下几种: 文本框,对应的<input type="text">,用于输入 ...

  6. JQuery根据关键字检索html元素并筛选显示

    背景:标题比较唬人,实际上就是在文本框中输入关键字,通过关键字检索html元素,筛选后显示在界面上. Html元素如下: <div> <input type="text&q ...

  7. Nginx高性能web服务器详解书中概要

    一.Nginx功能 1.Nginx服务器以其功能丰富著称于世.它既可以作为HTTP服务器,也可以作为反向代理服务器或者邮件服务器;能够快速响应静态页面(HTML)的请求;支持FastCGI.SSL.V ...

  8. C++ 无限定名称查找

    无限定名称查找 (关键字:懒惰,挑捡,using指令的特殊性) 无限定名称查找实际上就是指没有限定(名称空间和名称空间运算符)名存在的一个名字的出现,其中对于using指令,其内部包含的所有的声明是被 ...

  9. 2018.11.3 Nescafe18 T1 七夕祭

    题目 背景 七夕节因牛郎织女的传说而被扣上了「情人节」的帽子.于是 TYVJ 今年举办了一次线下七夕祭.Vani 同学今年成功邀请到了 cl 同学陪他来共度七夕,于是他们决定去 TYVJ七夕祭游玩. ...

  10. 爬虫学习(八)——带cookie的网页进行爬取

    # 前提:# # 通常,很多网站需要登录才能进行浏览,所以在爬取这些网站时,也需要进行登录,并拿取登录时的cookie# # 登录网页,服务器会给客户端一个牌子cookie# # 访问登录页面时,带着 ...