表的数据字典格式如下:

如果手动写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. gulp使用配置

    gulpjs是一个前端构建工具,与gruntjs相比,gulpjs无需写一大堆繁杂的配置参数,API也非常简单,学习起来很容易,而且gulpjs使用的是nodejs中stream来读取和操作数据,其速 ...

  2. Python之路第一课Day9--随堂笔记之一(堡垒机实例以及数据库操作)未完待续....

    一.堡垒机前戏 开发堡垒机之前,先来学习Python的paramiko模块,该模块机遇SSH用于连接远程服务器并执行相关操作 SSHClient 用于连接远程服务器并执行基本命令 基于用户名密码连接: ...

  3. 谁说JavaScript容易?

    你尝试过给一组数字排序吗? Javascript的sort()方法默认用来给数字排序 所以[1,2,5,10].sort()将会输出[1, 10, 2, 5]. 要正确的对数组进行排序的话,你可以使用 ...

  4. jQuery代码节选(筛选)

    筛选...8.not()<p class="p1">1</p><p class="p2">2</p><p ...

  5. Lua源代码阅读分析问题列表(转)

    最近正在阅读lua源码,遇到座灯塔,转载如下: 我个人的习惯是带着问题去研究一个新题目,比如这次阅读Lua代码,暂列下面这些问题. 1)什么是基于栈.基于寄存器的虚拟机(VM)设计?Lua如何实现基于 ...

  6. 纯css3 Star

    <style><!--* { box-sizing: border-box; padding: 0px; margin: 0px; } body, html { height: 10 ...

  7. Dom的继承关系

    Document对象: 是Html文档的根节点,拥有其他的节点(element nodes, text nodes, attribute nodes, and comment nodes),并提供了获 ...

  8. 读取XML直接转换为类对象

    <?xml version="1.0" encoding="utf-8"?> <ArrayOfMenuItems xmlns:xsi=&quo ...

  9. perl 删除过期文件

    #!/usr/bin/perl `find /bak/ >list.txt`; open LIST,"/root/list.txt"; while (<LIST> ...

  10. 安卓刷机--fastboot线刷

    首先需要下载fastboot.exe,copy到system32文件夹下. 对于安卓系统的智能手机,同时按住开机键和音量减键,或手机连上电脑,输入adb reboot bootloader进入fast ...