博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用shell脚本生成数据库markdown文档
阅读量:6241 次
发布时间:2019-06-22

本文共 1903 字,大约阅读时间需要 6 分钟。

学习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

转载于:https://www.cnblogs.com/vitasyuan/p/9650643.html

你可能感兴趣的文章
Run ASP.NET MVC site on mac (mono/xamarin studio)
查看>>
win8.1安装驱动出现“文件的哈希值不在指定的目录”的解决办法[zz]
查看>>
CRM 常用SQL 脚本
查看>>
备忘录--关于线程和IO知识
查看>>
【iCore3 双核心板】例程八:定时器PWM实验——呼吸灯
查看>>
jquery tmpl 详解
查看>>
docker学习笔记4:利用docker hub上的mysql镜像创建mysql容器
查看>>
【Xamarin开发 Android 系列 3】循序渐进的学习顺序
查看>>
自定义列表dl的使用原因和场合
查看>>
Oracle11G 卸载步骤
查看>>
PHP递归生成树形数组
查看>>
学习RSA公开密钥算法
查看>>
教你摆脱低级程序猿 项目中cocopads的安装使用
查看>>
禁止火狐浏览器缓存input标签方法
查看>>
[ilink32 Error] Error: Unresolved external '__fastcall Data::Win::Adodb::TCustomADODataSet
查看>>
.NET Core:面向未来的开源跨平台开发技术
查看>>
常用正则表达式
查看>>
超大批量删除redis中无用key+配置
查看>>
guid正则表达
查看>>
Javascript的this用法
查看>>