表的数据字典格式如下:

如果手动写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=$.' '.$.'('.$.') COMMENT \''.$.'\',';
}elsif(/(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+/){
$line=$.' '.$.' COMMENT \''.$.'\',';
}
print "$line\n";
}

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

[root@centos-minion1 ~]# cat .txt
序号 字段名 字段描述 数据类型 长度 是否为空 是否主键
OPRSEQ 操作流水 VARCHAR NOT NULL 是
NODEID 节点ID DECIMAL NOT NULL 是
CREATEDATE 开始时间 DATETIME NOT NULL 是
FINISHDATE 结束时间 DATETIME
STATUS1 状态 CHAR NULL
OPERTYPE 操作类型 DECIMAL NULL
STATUS2 实例状态 CHAR NULL
RESULTCODE 结果编码 VARCHAR NULL
RESULTMSG 结果信息 VARCHAR NULL [root@centos-minion1 ~]# perl .pl .txt
字段名 数据类型(长度) COMMENT '字段描述',
OPRSEQ VARCHAR() COMMENT '操作流水',
NODEID DECIMAL() COMMENT '节点ID',
CREATEDATE DATETIME(NOT) COMMENT '开始时间',
FINISHDATE DATETIME COMMENT '结束时间',
STATUS1 CHAR() COMMENT '状态',
OPERTYPE DECIMAL() COMMENT '操作类型',
STATUS2 CHAR() COMMENT '实例状态',
RESULTCODE VARCHAR() COMMENT '结果编码',
RESULTMSG VARCHAR() COMMENT '结果信息',
RESULTMSG VARCHAR() COMMENT '结果信息',

生成的结果如上所述~

基于表的数据字典构造MySQL建表语句的更多相关文章

  1. mysql建表出现Timestamp错误

    mysql建表时如果有两个或以上的字段为Timestamp,那么可能会出现如下错误: Incorrect table definition; there can be only one TIMESTA ...

  2. MySql 建表出现的问题:[ERR] 1064 - You have an error in your SQL syntax; check the manual.......

    使用 MySql 建表出现的问题 在使用 Navicat Premium 运行 sql 语句进行建表时,MySQL 报错如下: 建表语句: DROP DATABASE IF EXISTS javawe ...

  3. MySQL 建表语句 create table 中的列定义

    MySQL 建表语句 create table 中的列定义: column_definition: data_type [NOT NULL | NULL] [DEFAULT default_value ...

  4. 三种常用的MySQL建表语句

    MySQL建表语句是最基础的SQL语句之一,下面就为您介绍最常用的三种MySQL建表语句,如果您对MySQL建表语句方面感兴趣的话,不妨一看. 1.最简单的: CREATE TABLE t1(    ...

  5. 通过python给mysql建表

    一.python连接mysql from sqlalchemy import create_engine # 数据库数据 HOSTNAME = '127.0.0.1' # linux本地 PORT = ...

  6. 【转载】mysql建表date类型不能设置默认值

    如题,mysql建表date类型的不能设置一个默认值,比如我这样: CREATE TABLE `new_table` ( `biryhday` datetime NULL DEFAULT '1996- ...

  7. 关于MySQL建表对DML的影响【转】

    本文来自这里 今天一位同学问到线上曾经碰到过连续建表,导致阻塞普通的insert.update等.不过也没有保留现场.因此有疑问为什么建表会影响DML? 分析          首先这个现象不是在所有 ...

  8. Mysql建表通用写法

    Mysql建表通用写法 CREATE TABLE IF NOT EXISTS stu( id ) PRIMARY KEY AUTO_INCREMENT,//主键 自增 stuname ) NOT NU ...

  9. 【记录】Mysql 建表注意事项

    博主最近打算搭建商城,由于之前对建表只有很浅显的理解,没有太过深入了解,建表过程中遇到一些问题,现记录如下, 如有问题请各位留言指正,感激不尽: 建表时设置如何设置联合主键?如下标红处: CREATE ...

随机推荐

  1. 为什么要用elasticsearch-理解加深中

    首先的概念 基于Lucene 分布式实时文件存储 实时的分析搜索引擎 能达到实时搜索 优势的地方 1.横向可扩展性:只需要增加一台服务器,做一点儿配置,启动一下ES进程就可以并入集群: 2.分片机制提 ...

  2. Flask 重新认识

    总是觉的学习东西有点猴子掰玉米的感觉.今天就重新再掰一次吧. Installation: 安装之前建议先安装virtualenv,这个东东是帮助你在多个python版本之间保持同步,不至于python ...

  3. java执行linux命令

    package com.gtstar.collector; import java.io.BufferedReader;import java.io.IOException;import java.i ...

  4. C代码实现非循环单链表

    C代码实现非循环单链表, 直接上代码. # include <stdio.h> # include <stdlib.h> # include <malloc.h> ...

  5. DoTween 教程

    官方网站:http://dotween.demigiant.com/ 下载地址:http://dotween.demigiant.com/download.php pro版下载地址:http://pa ...

  6. 偶遇STM32 JTAG和SWD口(调试)被禁用无法下载,已经粗暴解决!

    处女座,为了板子走线美观,拉线方便,在项目量产前,还更改了原来外设的IO口,埋头苦干一天,移植ok,发现PB3一直不听使唤,好,加班检查代码,检查初始化,时钟,IO对应,然后试PCB板,是否短路,断路 ...

  7. 一鼓作气 博客--第七篇 note7

    面向对象相关知识简介 类(Class): 用来描述具有相同的属性和方法的对象的集合.它定义了该集合中每个对象所共有的属性和方法.对象是类的实例. 类变量:类变量在整个实例化的对象中是公用的.类变量定义 ...

  8. 关于ReSharper

    Resharper提供以下6个核心功能1. 代码分析(Code Analysis):智能提示代码中存在的问题和修复建议. 2. 编码助手(Coding Assistance):智能提示自动完成功能.  ...

  9. 解决 PowerDesigner 错误 The generation has been cancelled…

    在Model Settings中按照如下图设置即可.

  10. MYSQL INNODB PAGE一督

    MYSQL INNODB PAGE一督