1. 程式人生 > >用vim和Markdown, 將MySQL匯出的備份轉換為HTML格式的資料字典

用vim和Markdown, 將MySQL匯出的備份轉換為HTML格式的資料字典

用vim和Markdown, 將MySQL匯出的資料庫製作為資料字典(Markdown表格)

1. 轉換為表格

# 將匯出的各個欄位以'|'分隔
%s/^\s*`\([^`]\+`\)\s*\(\w\+[^ \t]*\)\s*\(.*\)$/| \1 | \2 | \3 |/gc
# 將註釋轉換為'|'分隔
%s/COMMENT\s*'/| '/gc
# 整理,刪除兩個'|'之間的','字元
%s/,\s*|/ |/gc
# 新增表頭
%s/^\(CREATE\s*TABLE\s*.*\)$/\1\r|欄位|型別|預設值|備註|\r|-|-|-|-|/gc
# 新增內部連結
%s/^DROP\s*TABLE\s*[^`]\+`\(\w\+\)`;/![][b-png]<span id="\1">\&nbsp;<\/span>\r## \1/gc

MySQL匯出的SQL示例:

DROP TABLE IF EXISTS `t_001_info`;

CREATE TABLE `t_001_info` (
  `id` varchar(32) NOT NULL,
  `code` varchar(32) NOT NULL COMMENT '行政區劃',
  `info` varchar(64) NOT NULL COMMENT '資訊',
  `online` char(1) NOT NULL COMMENT '狀態',
  `address` varchar(18) NOT NULL COMMENT '地址,16進位制',
  `update_time` varchar(32) NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `t_001_index` (`id`,`code`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;


DROP TABLE IF EXISTS `t_002_fn49`;

CREATE TABLE `t_002_fn49` (
  `id` varchar(32) NOT NULL,
  `area_id` varchar(18) DEFAULT NULL COMMENT '區域id',
  `pn` varchar(12) NOT NULL COMMENT '測量點標識',
  `Uab_Ua` varchar(8) DEFAULT NULL COMMENT 'Uab/Ua 相位角',
  `Ub` varchar(8) DEFAULT NULL COMMENT 'Ub 相位角',
  `Ucb_Uc` varchar(8) DEFAULT NULL COMMENT 'Ucb/Uc 相位角',
  `Ia` varchar(8) DEFAULT NULL COMMENT 'Ia 相位角',
  `Ib` varchar(8) DEFAULT NULL COMMENT 'Ib 相位角',
  `Ic` varchar(8) DEFAULT NULL COMMENT 'Ic 相位角',
  `sendTime` varchar(19) NOT NULL COMMENT '啟動幀傳送時標',
  PRIMARY KEY (`id`),
  KEY `t_002_index` (`id`,`pn`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='電壓/電流相位角';

執行以上替換之後的文字:

![][b-png]<span id="t_001_info">&nbsp;</span>
## t_001_info

CREATE TABLE `t_001_info` (
|欄位|型別|預設值|備註|
|-|-|-|-|
| id` | varchar(32) | NOT NULL |
| code` | varchar(32) | NOT NULL | '行政區劃' |
| info` | varchar(64) | NOT NULL | '資訊' |
| online` | char(1) | NOT NULL | '狀態' |
| address` | varchar(18) | NOT NULL | '地址,16進位制' |
| update_time` | varchar(32) | NOT NULL |
  PRIMARY KEY (`id`),
  UNIQUE KEY `t_001_index` (`id`,`code`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;


![][b-png]<span id="t_002_fn49">&nbsp;</span>
## t_002_fn49

CREATE TABLE `t_002_fn49` (
|欄位|型別|預設值|備註|
|-|-|-|-|
| id` | varchar(32) | NOT NULL |
| area_id` | varchar(18) | DEFAULT NULL | '區域id' |
| pn` | varchar(12) | NOT NULL | '測量點標識' |
| Uab_Ua` | varchar(8) | DEFAULT NULL | 'Uab/Ua 相位角' |
| Ub` | varchar(8) | DEFAULT NULL | 'Ub 相位角' |
| Ucb_Uc` | varchar(8) | DEFAULT NULL | 'Ucb/Uc 相位角' |
| Ia` | varchar(8) | DEFAULT NULL | 'Ia 相位角' |
| Ib` | varchar(8) | DEFAULT NULL | 'Ib 相位角' |
| Ic` | varchar(8) | DEFAULT NULL | 'Ic 相位角' |
| sendTime` | varchar(19) | NOT NULL | '啟動幀傳送時標' |
  PRIMARY KEY (`id`),
  KEY `t_002_index` (`id`,`pn`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='電壓/電流相位角';

然後,將文字拷貝到Markdown

2. 建立索引(內部連結)

# 製作內部連結
%s/^CREATE\s*TABLE\s*.\(\w\+\).\s*(\s*\n\%(\s.*\n\)\+).*[^=]*=[^=]*=\([^;]*\);/[\1](#\1)(\2)/gc
# 刪除非索引文字
v/^\[t_/d
# 整理,刪除'(utf8)'
%s/([^#'][^)]*)$//gc

然後,將文字拷貝到Markdown

[t_001_info](#t_001_info)
[t_002_fn49](#t_002_fn49)('電壓/電流相位角')

3. 表格美化

在MArkdown檔案的開頭合適的位置,新增以下的文字

# 改變CSS定義的各列的寬度 
<style>
table th:nth-of-type(1) {
    width: 28%;
}
table th:nth-of-type(2) {
    width: 12%;
}
table th:nth-of-type(3) {
    width: 25%;
}
</style>

4.輸出結果(資料字典)

t_001_info

CREATE TABLE t_001_info (

欄位 型別 預設值 備註
id` varchar(32) NOT NULL
code` varchar(32) NOT NULL ‘行政區劃’
info` varchar(64) NOT NULL ‘資訊’
online` char(1) NOT NULL ‘狀態’
address` varchar(18) NOT NULL ‘地址,16進位制’
update_time` varchar(32) NOT NULL

PRIMARY KEY (id),
UNIQUE KEY t_001_index (id,code) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

t_002_fn49

CREATE TABLE t_002_fn49 (

欄位 型別 預設值 備註
id` varchar(32) NOT NULL
area_id` varchar(18) DEFAULT NULL ‘區域id’
pn` varchar(12) NOT NULL ‘測量點標識’
Uab_Ua` varchar(8) DEFAULT NULL ‘Uab/Ua 相位角’
Ub` varchar(8) DEFAULT NULL ‘Ub 相位角’
Ucb_Uc` varchar(8) DEFAULT NULL ‘Ucb/Uc 相位角’
Ia` varchar(8) DEFAULT NULL ‘Ia 相位角’
Ib` varchar(8) DEFAULT NULL ‘Ib 相位角’
Ic` varchar(8) DEFAULT NULL ‘Ic 相位角’
sendTime` varchar(19) NOT NULL ‘啟動幀傳送時標’

PRIMARY KEY (id),
KEY t_002_index (id,pn)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT=’電壓/電流相位角’;

相關推薦

vimMarkdown, MySQL匯出備份轉換HTML格式資料字典

用vim和Markdown, 將MySQL匯出的資料庫製作為資料字典(Markdown表格) 1. 轉換為表格 # 將匯出的各個欄位以'|'分隔 %s/^\s*`\([^`]\+`\)\s*\(\w\+[^ \t]*\)\s*\(.*\)$/| \1 |

如何一段字串轉換HTML格式

String text = "字元內容"; String htmlFileName = UUIDUtil.generateUUID()+".html"; String htmlPath = imgPath+ File.separatorChar+htmlFileName; File file2 = n

PHPJavaScript字符串轉換數字string2int

class var ring int logs 變量 類型 ng2 div 在看廖雪峰的JavaScript教程時,裏面有一個題就是利用reduce()將string轉換為int,我看評論中貼出的方法,當時覺得挺意外了,以為他只用了一行代碼,即下面這行代碼 var str

ubuntu下java程式碼呼叫命令java格式檔案轉換html格式檔案

import java.io.BufferedInputStream; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.File; import java.io.*; public class C

使用Pandoc命令Markdown格式檔案轉換HTML格式檔案

一、Pandoc命令介紹 Pandoc是一個強大的格式語言轉換工具,被稱為該領域的“瑞士軍刀”。比如可用Pandoc命令將Markdown格式檔案轉換成HTML格式檔案。 二、具體轉換命令 具體轉換命令如下: pandoc --standalone

可以PDF文件轉換DWG格式的軟件

用什麽軟件可以將PDF文件轉換為dwg文件?看到這個問題,小編我心中甚是狂喜,以為小編曾經也被這個問題困擾過,但是很慶幸的是小編我找到了解決的方法,但是做人要學會懂得分享,所以我接下來就把我的經歷分享給大家,希望能幫助大家解決困擾。 將pdf文件轉換為dwg文件最好的軟件就是迅捷PDF轉CAD轉換器,要

@ResponseBody集合數據轉換json格式並返回給客戶端

-m path ray es2017 cnblogs class framework add work spring-mvc.xml: <beans xmlns:mvc="http://www.springframework.org/schema/mvc"

phpxml文件轉換html

php將xml文件轉換為htmltest.xml: <?xml version="1.0" encoding="ISO-8859-1"?> <catalog> <cd> <title>Empire Burlesque</title> <arti

字符串轉換駝峰格式

-s locale 格式 lse 字母轉 -i info strong AS 題目描述 css 中經常有類似 background-image 這種通過 - 連接的字符,通過 javascript 設置樣式的時候需要將這種樣式轉換成 backgroundImage 駝峰格式

PHP資料庫查詢內容轉換JSON格式且顯示中文

最近寫android,開始寫伺服器了。最終伺服器的語言就先定為PHP,因為以前寫過一陣子網頁,所以就先用PHP試試水。 那麼首先為了實現android前端與伺服器互動,那麼我們伺服器傳輸的資料就要先變為JSON格式。 那麼如何將資料庫中的內容查詢出來,並且使其轉變為JSON格式呢?程式碼如下

使用Aspose.WordsWord文件轉換Tiff格式圖片檔案

用Aspose元件的優點是操作Word文件不需要安裝Office就可以實現。 首先需要引用Aspose.Words.dll,連結地址:連結:https://pan.baidu.com/s/1rJvjp-kMsEterYf_oud28Q   提取碼:awiw  程式碼如下: public bool Word

word文件轉換html、PDF等

在日常工作中我們常常要把資料匯入word後,在做列印功能,一般列印在前臺做的話會比在後臺做客戶體驗更好一些,這個時候交給前臺最好是html、pdf、或圖片格式的資料,我的另一篇部落格中講解了怎麼將PDF轉換成圖片,並且可以調整清晰度。 這些方法都是我在工作學習中在網路上借鑑各位前輩的經驗

利用POIExcel文件轉換Html

        excel文件轉換為html其實和word轉html相類似,優點也很明顯。請參考 word轉html public static void convertExcel2Html(String excelFilePath,String htmlFilePat

ABAP內表資料轉換HTML格式的檔案

TYPES: BEGIN OF TY_VBAP,          VBELN TYPE VBELN,          POSNR TYPE POSNR,          MATNR TYPE MATNR,        END OF TY_VBAP.*-ALL rel

PowerDesigner從資料庫匯出pdm以及匯出html格式資料字典

PowerDesigner從資料庫匯出pdm File ---> Reverse Engineer---> Database---> DBMS(選對應的資料庫,這裡是ORACLE Version 10g),選中Share the DBMS Defini

Linux下批量md檔案批量轉換html檔案

要將markdown檔案轉換成html檔案,可以用discount或python-markdown軟體包提供的markdown: 以下主要介紹在Ubuntu系統下的轉化: # Debian/Ubunt

word文件轉換圖片格式的PDF

0x00 前言 編寫一篇文件後,往往會通過轉為pdf版本後釋出來避免在不同環境下格式出現混亂的情況。 但這樣操作轉出pdf文件可以通過普通的pdf閱讀器進行文字的抓取,不能達到我們想要保護智慧財產權的想法。 因此在這裡推出一篇如何將word文件轉換為圖片格

PDF可以轉換CAD格式嗎?怎麽PDF文件轉換CAD格式

選擇 瀏覽器中 RoCE 四種 water 提示 定義 電腦 系統 PDF可以轉換為CAD格式嗎?怎麽將PDF文件轉換為CAD格式?相信不小小夥伴對這個問題都會存有疑問,畢竟我們經常會在工作中將CAD圖紙文件轉換為PDF格式,而在此將PDF轉換為CAD格式,確實很多人都存有

EXCEL的VBAPHPCMS的備份檔案轉換HTML的一次嘗試

背景 有個PHPCMS的網站停了,但是網站的歷史文章又想要看看,網站停了以後,管理員發來了網站的所有資料。 分析 因為不會PHP,所有本地環境跑網站不優先考慮。 有MySQL資料庫檔案,但是不熟悉MySQL資料庫,也就不下載資料庫了。 有PHPCMS匯出的SQL檔案,但是不是標準的SQL檔案,不能用

Atommarkdown編輯筆記

Atom Atom是github開發的開源跨平臺的編輯器,Atom是一個非常強大的編輯器,主要是因為其內有許多的熱心使用者通過其開源的介面寫了大量強大的外掛 我平時一般都把Atom當作一個簡單的程式