目录
前言
在Excel软件中,根据维护的表结构与数据,快速生成对应的sql实现对表的创建以及对数据记录的新增
在前段时间,我出过一版使用Excel快速生成建表的sql语句,但是没有实现快速生成在新表里,批量插入数据的sql语句。这次重做的excel,通过增加新函数,简化操作,实现快速生成建表sql与新增记录sql。
使用本文介绍的内容,需要注意:
1、当前文档只适用于SqlServer数据库
,其他数据库操作,待更新ฅ( ̳• · • ̳ฅ);
2、需要了解Excel的基本操作;
3、需要了解SqlServer基本操作;
4、需要Excel版本2016
以上(部分2016版本可能缺少相应函数);
一、下载Excel
根据需要,如果所有字段都需要手动赋值,择选1;如果存在自增键,则选2。
1、Excel快速生成建表与插入语句sql-主键不自增版
:https://download.csdn.net/download/weixin_46935703/90474217?spm=1001.2014.3001.5503
2、Excel快速生成建表与插入语句sql-主键自增版
:https://download.csdn.net/download/weixin_46935703/90474252?spm=1001.2014.3001.5503
二、使用步骤(以自增版为例)
sql_23">1.生成建表sql
1.1.在"table结构表"创建表结构
在“table结构表”Sheet页进行创建表结构,表结构区域解释:
1、在A6
单元格维护表名
;
2、从B6到Bn(n>=6)维护字段名
;
3、从C6到Cn(n>=6)维护字段类型
;
4、从D6到Dn(n>=6)维护字段的特性值
,比如:主键(PRIMARY KEY)、自增( IDENTITY (1, 1))、不为空(NOT NULL);记得格式为:空格+特性+英文逗号
,最后一个字段不需要以逗号结尾
;
5、从E6到En(n>=6)维护字段的描述
,比如,student_code字段的描述为学生编号;
6、从F6到Fn(n>=6)维护字段的值是否需要单引号
,这里需要根据用户根据类型
判断,比如varchar、nvarchar或datetime等,值都需要通过单引号包裹,其他如bit,int或bigint等则不需要单引号包裹。此处需要用户仔细判断,如果怕麻烦,可将除主键外字段,全设置为Varchar,此列除F6外全为1;
1.2.确认区域
1、上图红框表示表结构区域,
2、蓝框表示字段区域,现在是有13个字段(1自增,12自定义),需要根据左侧表结构,少了就下拉增加;
3、绿框表示表字段注释区域,同2,据左侧表结构,少了就下拉增加;
1、点击A1单元格,点击编辑栏的函数
,会出现如上图的蓝色区域,需要根据现实情况,控制蓝色区域。将鼠标移动到蓝色区域右下角,鼠标指针变化,根据左侧字段数量,区域大了就上拉,小了则下拉
。
sql_43">1.3.获取建表sql
1、点击A3单元格,按Ctrl+C,复制粘贴到SSMS或其他地方,可见Create建表的sql语句;
2、选择绿框区域,Ctrl+C,复制粘贴到SSMS或其他地方,可见给字段添加注释的sql语句。
如下图:
sql与加注释sql" />
可见数据表table1,各字段,以及字段描述。
sql_53">2.生成新增数据记录sql
2.1.维护新增的数据
1、在“待插数据”Sheet页
对已维护的字段,增加待新增的记录值;
2、由于id自增,所以数据表头从ziduan1开始;
3、“表头”区域数据,来源于“table结构表”Sheet页的字段列B列
,如果有字段没有在表头区域(第一行)出现,请将选中第一行已有数据区域,将鼠标移动到区域右下角,往右拉,直到全部字段都在表头出现,上面图片中第一行为0,表示对应字段单位格为空,不需要理会;
4、在“待插数据”页面,只需要注意表头显示全部字段。建议第一行出现0,表示表头有多余空闲字段,这样就不会遗漏字段。
2.2.处理新增的数据
1、见上图,C1到N1为表头,需要根据实际场景,将表头区域往右侧拉,将所有字段显示出来;
2、根据“待插数据”Sheet页维护的数据,选中数据区,将鼠标移动到蓝色数据区右下方,往右下方拉,补充已维护的数据,并检查数据完整性;
3、点击B1,点击编辑区的函数,检查蓝色区域是否包含全部字段,如果没有,将鼠标移动到蓝色数据区右下方,将区域往右侧拉大;见下方:
4、然后点击选中B1,将鼠标移动到单元格右下方,往下拉,直到与右侧数据区域持平。将B列的数据格式同步成与B1一致。
5、点击选中A2,将鼠标移动到单元格右下方,往下拉,直到与右侧数据区域持平。将A列的数据格式同步成与A2一致。
sql_70">2.3.获取sql语句
1、选中A区域内红色字的区域,A2-An(n>=2)表示待插入的sql,
2、按Ctrl+C,将其复制粘贴到SSMS。
如下图: