excel的宏与VBA实践——建表语句

不带分区版本:V1.0:

Sub createTableDDL()
    ‘自动创建建表语句
    ‘定义换行和TAB
    Ln = Chr(13) + Chr(10)
    TB = Chr(9)
    ‘定义脚本目录
    Dim dir AS String
    dir = "C:\CREATE_TABLE_DDL"
    Set FSOE = CreateObject("Scripting.FileSystemObject")
    If FSOE.folderexists(dir) = False Then
          MkDir dir
    End If

    ‘调用脚本定义
    Set SqlFileDDL = FSOE.CreateTextFile("C:\CREATE_TABLE_DDL\create_table_ddl.sql", True)
    ‘获得表名
    tableName = Trim(Cells(1, 2).Value)
    ‘获得表注释
    tableComment = Trim(Cells(1, 4).Value)
    ‘获得创建者
    createBy = Trim(Cells(1, 6).Value)
    Dim dt As Date
    dt = Format(Date, "yyyy-mm-dd")
    ‘获得当前日期
    createDate = dt
    ‘获得A列已使用的行数
    count_row_k = [A65536].End(xlUp).Row
    ‘定义SQL
    SQL = "--创建者:" & createBy & Ln
    SQL = SQL & "--创建时间:" & createDate & Ln
    SQL = SQL & "DROP TABLE IF EXISTS " & tableName & " ;" & Ln
    SQL = SQL & "CREATE TABLE " & tableName & "("
    ‘写入文件
    SqlFileDDL.WriteLine (SQL)
    For i = 3 To count_row_k
        If i = count_row_k Then
            col_name = TB & LCase(Cells(i, 2)) & " " & UCase(Cells(i, 4)) & " COMMENT ‘" & Trim(Cells(i, 3)) & "‘" & Ln & ")"
            SqlFileDDL.WriteLine(col_name)
            Exit For
        End If
        col_name = TB & LCase(Cells(i, 2)) & " " & UCase(Cells(i, 4)) & " COMMENT ‘" & Trim(Cells(i, 3)) & "‘,"
        SqlFileDDL.WriteLine(col_name)
    Next
    SqlFileDDL.WriteLine("COMMENT ‘" & tableComment & "‘")
    MsgBox("生成成功!生成路径为:" & dir)
End Sub

原文地址:https://www.cnblogs.com/jiangbei/p/9360434.html

时间: 2024-10-25 19:05:22

excel的宏与VBA实践——建表语句的相关文章

表操作--建表语句

表操作--建表语句 1.创建默认字符集库 下面已默认格式的字符集库 mysql> create database Ysolin; Query OK, 1 row affected (0.00 sec) mysql> show create database Ysolin\G *************************** 1. row *************************** Database: Ysolin Create Database: CREATE DATABAS

DB2建表语句

db2 => create table test (name char(8) not null primary key,depid smallint,pay bigint) DB20000I SQL 命令成功完成. db2 => create table test1 (name char(8) not null primary key,depid smallint references department (depid),pay bigint) DB20000I SQL 命令成功完成. db

根据javabean转换为mysql建表语句

一般上,我们会使用数据库表转换为javabean.dao.或是mapper,就叫逆向工程.做项目时一般也是先设计数据库,再进行系统开发,所以一般使用逆向工程. 但我这边由于工作临时的需要,需要将javabean转换为建表语句,于是上网搜了一下,大部分是做一个工具类进行bean解析输出SQL语句. 根据自身项目命名设计要求,简化一个例子如下,供参考 package com.util; import java.io.IOException; import java.lang.reflect.Fiel

oracle的建表语句

oracle数据库的建表语句,具体语法如下: CREATE TABLE tablename (column_name datatype [null,not null], column_name datatype [null,not null], ...... [constraint] ) 语法说明: tablename:在数据库中需要创建的表的表名称,在同一个数据库中的表名称是不能重复的: column_name:创建的表的列名称,列名称在一个表中也是不能重复的: datatype:创建的表的列

存储引擎,详细建表语句,数据类型,约束

引擎指的是一个系统的核心部分引擎有不同分类是为了适应不同的使用场景查看mysql支持的所有引擎show engines MRG_MYISAM 是一堆MYISAM表的集合 用于做水平分表,如果一个表中数据量太大 将导致效率降低 水平分表就是把整个大表拆成不同的小表,每一次查询会先判断数据在哪一个表中 然后对应去查找 以此来提高效率垂直分表 当一个表中 字段太多 然而常用的信息就那么一两个 那就可以把不常用字段切到另一个表中 然后建立关联关系 innodb 是最最常用的引擎 因为支持 事务 行锁 外

如何在SQLyog查看建表语句

第一步:打开SQLyog,连接数据库,按[ctrl+T]新建一个查询窗口 第二步:在查询窗口中输入   以下查看建表语句: SHOW CREATE TABLE [表名称]; 比如我要查看hhh表            如图所示: 第三步:右击查询窗口,[执行查询].[执行查询] 第四步:以文字视图显示,如下图 原文地址:https://www.cnblogs.com/hzyhx/p/11079900.html

SQL_使用DBMS_METADATA.GET_DDL生成建表语句

原创作品,出自 "深蓝的blog" 博客,欢迎转载,转载时请务必注明以下出处,否则追究版权法律责任. 深蓝的blog:http://blog.csdn.net/huangyanlong/article/details/43988377 今天在群里学来一着,通过DBMS_METADATA.GET_DDL来生成建表或视图的sql语句. (1).生成创建表的sql语句 SQL> set long 20000; SQL> SELECT DBMS_METADATA.GET_DDL('

hive中执行hql或建表语句时,抛出Display all 459 possibilities? (y or n)错误的解决方法

我昨天在hive上建表,一直报Display all 459 possibilities? (y or n) ,之前我以为是建表语句有问题,一直在改语句,后来在网上搜这个错误,原来语句里混杂了Tab缩进,这可能是我使用notepad++的时候打出来的: 解决方案:把它粘到plsql里,将空格和缩进都重新打一遍就好了,在plsql里可以用tab键: 原文地址:https://www.cnblogs.com/xiao02fang/p/10006748.html

excel的宏与VBA入门(二)——基础入门

一.属性与方法 1.属性 上面单击对象,下面即显示对应的属性: 2.方法 双击左上的对象,即可看到相应的方法: 二.数据类型 Byte 0 到 255 Boolean True 或 False Integer -32,768 到 32,767 Long(长整型)-2,147,483,648 到 2,147,483,647 Single (单精度浮点型) Double (双精度浮点型) Currency Decimal Date 100 年 1 月 1 日 到 9999 年 12 月 31 日 O