Excel VBA生成SQL建表语句
前几天博主写了**《Excel VBA(Visual Basic)编程入门》**的博文,今天讲一个实用小案例。将我们excel定义好的表名和字段名等信息,生成sql建表语句。
一、Excel表结构
二、VBA语句
Public Sub class()Rem 声明字段row的开始行号Const startRow As Integer = 13Rem 声明字段row的结束行号Const endRow As Integer = 28Rem 声明表名Dim tableName As StringtableName = Range("E" & 6)Rem 声明主键Dim primaryKey As StringprimaryKey = Range("F" & 13)Rem 声明表名注释Dim tableComment As StringtableComment = Range("E" & 7)Rem 声明字段名对应列 英文序号Dim filedMetaNo As StringfiledMetaNo = "F"Rem 声明字段注释对应对应列 英文序号Dim commentMetaNo As StringcommentMetaNo = "C"Rem 声明字段备注 对应列的 英文序号Dim comment2MetaNo As Stringcomment2MetaNo = "U"Rem 声明类型 对应列的 英文序号Dim typeMetaNo As StringtypeMetaNo = "G"Rem 声明字长 对应的列的英文序号Dim lengthMetaNo As StringlengthMetaNo = "H"Rem 最终要拼接的sqlDim sqlStr As StringsqlStr = "CREATE TABLE " & Range("E" & 6) & Chr(13)sqlStr = sqlStr & "(" & Chr(13)For count = startRow To endRowRem 拼接 字段名sqlStr = sqlStr & Replace(Range(filedMetaNo & count).Text, " ", "")Rem 拼接 字段类型(字段长度)sqlStr = sqlStr & " " & Range(typeMetaNo & count)If IsEmpty(Range(lengthMetaNo & count)) = False ThensqlStr = sqlStr & "(" & Range(lengthMetaNo & count) & ") "End IfRem 如果是主键,设置NOT NULL COMMENTIf primaryKey = Range(filedMetaNo & count) ThensqlStr = sqlStr & " NOT NULL COMMENT "ElseRem 拼接 DEFAULT NULL COMMENT '字段名称注释(字段备注)'sqlStr = sqlStr & " DEFAULT NULL COMMENT "End IfsqlStr = sqlStr & "'" & Range(commentMetaNo & count)If IsEmpty(Range(comment2MetaNo & count)) = False ThensqlStr = sqlStr & "(" & Range(comment2MetaNo & count) & ")"End IfsqlStr = sqlStr & "'"sqlStr = sqlStr & "," & Chr(13)NextsqlStr = sqlStr & "PRIMARY KEY (" & primaryKey & ")" & Chr(13)sqlStr = sqlStr & ")ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='" & tableComment & "'" & Chr(13)Debug.Print sqlStrEnd Sub
注意:通常的时候,excel保存不了,关闭excel直接没了,另存为xlsm格式就可以了。
Excel VBA生成SQL建表语句相关推荐
- Excel自动生成sql建表语句
ETL开发中重新整理很多表结构,写建表语句又是一件头疼的事情,干脆借鉴网友的代码,自己写了一个自动生成建表sql的模板. 模板下载:http://download.csdn.net/detail/en ...
- python读取excel生成mysql建表语句_python读取excel文件并自动在mysql中建表导数据
""" 根据excel在mysql中建表(表名为文件名,字段为csv中的header,默认所有字段为varchar,如需更改,在数据库中更改即可),并插入数据 " ...
- SpringBoot自动运行sql建表语句
1.在Resources下添加建表的sql语句 2.配置文件 application.yml spring:datasource:username: rootpassword: adminurl: j ...
- excel数据库设计表转换成sql建表语句
序号 字段英文 字段中文 主键 类型 长度 单位 空否 默认值 备注 1. ID 自增ID N 11 2. REC_CREATOR 记录创建责任者 C 10 3. REC_CREATE_TIME 记录 ...
- 1.python 根据 oracle字段名和类型 生成 hive建表语句
一.问题 遇到一个场景,要根据oracle表结构创建hive表. 本来想写一个根据oracle信息和表名自动在hive中创建表的脚本.如果在集群运行,python操作oracle的cx_Oracle在 ...
- mysql json建表_json数据自动生成MySQL建表语句
#_*_coding:utf-8_*_ #author: cike #date: 18-9-13 import pymysql.cursors connection = pymysql.connect ...
- python脚本实现自动生产sql建表语句
一.代码效果 废话不多说,先上代码展示效果,然后讲解 1.1代码 import pandas as pd data = pd.read_excel('D:/示例1.xlsx') data = data ...
- 使用java通过固定的excel模板自动生成数据库表的ddl建表语句
有时候要建很多表或一个表有很多字段,一个个复制字段弄太麻烦了,为了提高点工作效率,写了个小工具通过固定的excel模板自动生成基础的ddl建表语句 maven依赖 <!--核心jar包--> ...
- PowerDesigner生成数据库建表sql脚本
PowerDesigner生成数据库建表sql脚本 一.生成sql server 2000或oracle建表sql脚本 1.新建一个物理模型,通过database菜单下的change current ...
- tp5循环查询语句_如何用Excel快速生成SQL语句,用过的人都说好
Excel的公式自动生成想必大家都知道了,就是写好一个公式后直接往下拖,就可以将后面数据的公式自动生成. 今天我们就用这个功能来快速生成SQL语句. 导入Excel数据 Excel的数据有多种方式,这 ...
最新文章
- 数字图像处理:图像就是函数的解读
- php一个星期没找到工作怎么办_高校开学推迟,校园招聘遥遥无期,还没找到工作的应届生怎么办?...
- js调用ios和安卓方法
- 使用 dispatchEvent() 方法
- java数据结构之枚举
- 计算机网络协议(一)
- xshell常用的命令
- 对lIKE语句的优化
- 160826、浏览器渲染页面过程描述,DOM编程技巧以及重排和重绘
- 【算法】java 用 数组 模拟 队列
- python双_集成python双版本详解
- 默认适应窗口_PS教程基础之cs6默认快捷键汇总及补充
- Hyper-V提供创建三种类型的虚拟网络
- (原创)一步一步学ZedBoard Zynq(一):ZedBoard的第一个工程Helloworld
- 电梯实时智能监测与诊断:应用人工智能的案例研究和解决方案
- flutter 华为审核:你的应用存在隐藏最近任务列表中应用名称的问题,不符合华为应用市场审核标准
- html标签 lt heavy gt,HTML Purifier:转换&lt; body&gt;到&lt; div&gt;
- 工作态度决定了你的层次
- python dataframe删除重复行_2.3.10 DataFrame 查看删除重复项
- 下载了突袭:资源战争