基于表的数据字典构造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+/){ $line=$2.' '.$4.' COMMENT \''.$3.'\','; } print "$line\n"; }
首先将表的内容copy到文本文件中,然后执行上述脚本
[root@centos-minion1 ~]# cat 2.txt 序号 字段名 字段描述 数据类型 长度 是否为空 是否主键 1 OPRSEQ 操作流水 VARCHAR 32 NOT NULL 是 2 NODEID 节点ID DECIMAL 5 NOT NULL 是 3 CREATEDATE 开始时间 DATETIME NOT NULL 是 4 FINISHDATE 结束时间 DATETIME 5 STATUS1 状态 CHAR 2 NULL 6 OPERTYPE 操作类型 DECIMAL 1 NULL 7 STATUS2 实例状态 CHAR 2 NULL 8 RESULTCODE 结果编码 VARCHAR 10 NULL 9 RESULTMSG 结果信息 VARCHAR 600 NULL [root@centos-minion1 ~]# perl 1.pl 2.txt 字段名 数据类型(长度) COMMENT '字段描述', OPRSEQ VARCHAR(32) COMMENT '操作流水', NODEID DECIMAL(5) COMMENT '节点ID', CREATEDATE DATETIME(NOT) COMMENT '开始时间', FINISHDATE DATETIME COMMENT '结束时间', STATUS1 CHAR(2) COMMENT '状态', OPERTYPE DECIMAL(1) COMMENT '操作类型', STATUS2 CHAR(2) COMMENT '实例状态', RESULTCODE VARCHAR(10) COMMENT '结果编码', RESULTMSG VARCHAR(600) COMMENT '结果信息', RESULTMSG VARCHAR(600) COMMENT '结果信息',
生成的结果如上所述~
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY