用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">\ <\/span>\r## \1/gcMySQL導出的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"> </span> ## t_001_infoCREATE 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"> </span> ## t_002_fn49CREATE 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
t_002_fn49(‘電壓/電流相位角’)
?
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=‘電壓/電流相位角’;
總結
以上是生活随笔為你收集整理的用vim和Markdown, 将MySQL导出的备份转换为HTML格式的数据字典的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 协同过滤系统的评价标准
- 下一篇: hive 常用正则表达式