基于表的数据字典构造MySQL建表语句

表的数据字典格式如下:

如果手动写MySQL建表语句,确认麻烦,还不能保证书写一定正确。

写了个Perl脚本,可快速构造MySQL脚本语句。

脚本如下:  

#!/usr/bin/perl
use strict;
my $line;
while(<>){
     s/\r\n//;
     if(/(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)/){
     $line=$2.' '.$4.'(5.) COMMENT \'3.\',;
     }elsif(/(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+/ COMMENT \';
}
     print "$line\n;
}

首先将表的内容copy到文本文件中,然后执行上述脚本

[root@centos-minion1 ~]# cat 2.txt 
序号    字段名    字段描述    数据类型    长度    是否为空    是否主键
1    OPRSEQ    操作流水    VARCHAR    32    NOT NULL    是
2    NODEID    节点ID    DECIMAL    53    CREATEDATE    开始时间    DATETIME        NOT NULL    是
4    FINISHDATE    结束时间    DATETIME            
5    STATUS1    状态    CHAR        NULL    
6    OPERTYPE    操作类型    DECIMAL    17    STATUS2    实例状态    CHAR    8    RESULTCODE    结果编码    VARCHAR    109    RESULTMSG    结果信息    VARCHAR    600    NULL    

[root@centos-minion1 ~]# perl 1.pl .txt 
字段名 数据类型(长度) COMMENT '字段描述',OPRSEQ VARCHAR(32) COMMENT 操作流水5) COMMENT 节点ID开始时间结束时间2) COMMENT 状态1) COMMENT 操作类型实例状态10) COMMENT 结果编码600) COMMENT 结果信息',

生成的结果如上所述~

相关文章

1. 如何去重 #!/usr/bin/perl use strict; my %hash; while(...
最近写了一个perl脚本,实现的功能是将表格中其中两列的数据...
表的数据字典格式如下:如果手动写MySQL建表语句,确认麻烦,...
巡检类工作经常会出具日报,最近在原有日报的基础上又新增了...
在实际生产环境中,常常需要从后台日志中截取报文,报文的形...
最近写的一个perl程序,通过关键词匹配统计其出现的频率,让...