基于表的数据字典构造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 '结果信息',
生成的结果如上所述~
基于表的数据字典构造MySQL建表语句相关推荐
- mysql建表测试_总结MySQL建表、查询优化实用小技巧
MySQL建表阶段是非常重要的一个环节,表结构的好坏.优劣直接影响着后续的管理维护,赶在明天上班前分享总结个人MySQL建表.MySQL查询优化积累的一些实用小技巧. 技巧一.数据表冗余记录添加时间与 ...
- mysql建表是要注意什么问题_MySQL建表注意事项
1.建表规范 -- 数据库名丶表名,全部使用小写字母,使用"_"下划线连接且长度小于12,做到见名知意 2.建议使用 innodb 引擎,这也是MySQL的默认引擎 3.字段类型选 ...
- mysql 建表 日期格式_MySQL建表时,日期时间类型选择
MySQL(5.5)所支持的日期时间类型有:DATETIME. TIMESTAMP.DATE.TIME.YEAR. 几种类型比较如下: 日期时间类型 占用空间 日期格式 最小值 最大值 零值表示 DA ...
- hive建表与mysql建表的区别
现在大数据时代我们一般企业里都会将数据存储在hadoop这样的分布式系统里,我们可以编写hive-sql对数据进行分析,但是一般的业务系统是基于mysql这样的关系型数据库来进行可视化的,所以将hiv ...
- 关于MySQL建表对DML的影响
今天一位同学问到线上曾经碰到过连续建表,导致阻塞普通的insert.update等.不过也没有保留现场.因此有疑问为什么建表会影响DML? 分析 首先这个现象不是在所有场景都会碰到( ...
- mysql建表2个索引是啥意思_Mysql建表与索引使用规范详解
本篇文章是对Mysql建表和索引使用规范进行了详细的分析介绍,需要的朋友参考下 一. MySQL建表,字段需设置为非空,需设置字段默认值. 二. MySQL建表,字段需NULL时,需设置字段默认值,默 ...
- Python3 使用 pymysql 连接 MySQL 建表时出现 Warning3719 UTF8 警告
在学习 Python3 爬虫关系型数据库储存时,利用 pymysql 连接 MySQL 建表,测试用的代码如下,第一句 SQL 用于获取当前 MySQL 的版本信息,第二句 SQL 执行创建 spid ...
- mysql 建表时建立索引_mysql 分享建表和索引的几点规范
一. MySQL建表,字段需设置为非空,需设置字段默认值. 二. MySQL建表,字段需NULL时,需设置字段默认值,默认值不为NULL. 三. MySQL建表,如果字段等价于外键,应在该字段加索引. ...
- 总结MySQL建表、查询优化实用小技巧
MySQL建表阶段是非常重要的一个环节,表结构的好坏.优劣直接影响着后续的管理维护,赶在明天上班前分享总结个人MySQL建表.MySQL查询优化积累的一些实用小技巧. 技巧一.数据表冗余记录添加时间与 ...
最新文章
- Python这么慢,为啥大公司还在用?
- 敏捷项目管理工具实践
- 《Android游戏开发详解》——第1章,第1.6节函数(在Java中称为“方法”更好)...
- 第六届福建省大学生程序设计竞赛(FZU2213—FZU2221)
- UIModalPresentationStyle 各种类型的区别
- SQL Server 数据库巡检脚本
- sql语句中嵌套2层循环
- c/c++编译器的安装
- ubuntu dpkg mysql_ubuntu-12.04 – 在Ubuntu 12.04上无法启动MySQL5.5 – “dpkg:依赖问题”...
- STM32F103_步进电机
- OpenStack的组件
- [MySQL FAQ]系列 -- Linux命令行下快速监控mysql
- K-折交叉验证(原理及实现)
- java流程控制试讲_java试讲.ppt
- 【数据处理】正则匹配指定字符传后面的字符
- python画平行坐标图_[宜配屋]听图阁
- CAD2010 为了保护_【行业资讯】多相复合保护层制备高稳定锂金属负极
- 连小白都能看懂的微信开发之测试账号申请
- R语言辅导高维数据的主成分pca、 t-SNE算法降维与可视化分析案例报告
- 未来——智慧园区建设
热门文章
- Visual Stdio 注册表相关路径
- NGUI_2.6.3_系列教程六(序列帧动画)
- 大数据之-Hadoop3.x_Hadoop_HDFS_掉线时限参数设置---大数据之hadoop3.x工作笔记0079
- AndroidStudio_Android中使用非阻塞延迟的方法_利用Handler实现---Android原生开发工作笔记218
- Mycat监控_监控平台Mycat-web配置指标_作为配置中心注册发现用---MyCat分布式数据库集群架构工作笔记0038
- mybatis工作总结001_mybatis中_parameter使用和常用sql
- java整理软件--- Java OCR 图像智能字符识别技术,可识别中文,但是验证码不可以识别...已测识别中文效果很好
- findstr()与strfind()的区别
- 杭电1978 How many ways
- 一步一步写算法(之图添加和删除)