目录

根据Excel快速生成表的创建以及新增数据记录的sql

根据Excel快速生成表的创建以及新增数据记录的sql


前言

在Excel软件中,根据维护的表结构与数据,快速生成对应的sql实现对表的创建以及对数据记录的新增

在前段时间,我出过一版使用 ,但是没有实现快速生成在新表里,批量插入数据的sql语句。这次重做的excel,通过增加新函数,简化操作,实现快速生成建表sql与新增记录sql。

使用本文介绍的内容,需要注意:

1、当前文档只适用于 SqlServer数据库 ,其他数据库操作,待更新ฅ( ̳• · • ̳ฅ);

2、需要了解Excel的基本操作;

3、需要了解SqlServer基本操作;

4、需要 Excel版本2016 以上(部分2016版本可能缺少相应函数);


一、下载Excel

根据需要,如果所有字段都需要手动赋值,择选1;如果存在自增键,则选2。

1、Excel快速生成建表与插入语句sql- 主键不自增版

2、Excel快速生成建表与插入语句sql- 主键自增版


二、使用步骤(以自增版为例)

1.生成建表sql

1.1.在"table结构表"创建表结构

https://i-blog.csdnimg.cn/direct/0b9acab993214005924d353b98fb06c6.png

在“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.确认区域

https://i-blog.csdnimg.cn/direct/dff5db3154f84e0584c9dcfd6bda3607.png

1、上图红框表示表结构区域,

2、蓝框表示字段区域,现在是有13个字段(1自增,12自定义),需要根据左侧表结构,少了就下拉增加;

3、绿框表示表字段注释区域,同2,据左侧表结构,少了就下拉增加;

https://i-blog.csdnimg.cn/direct/5ca7c3845ed14d5d8242bba35989d51a.png

1、点击A1单元格,点击 编辑栏的函数 ,会出现如上图的蓝色区域,需要根据现实情况,控制蓝色区域。将鼠标移动到蓝色区域右下角,鼠标指针变化,根据左侧字段数量, 区域大了就上拉,小了则下拉

1.3.获取建表sql

https://i-blog.csdnimg.cn/direct/529553e905ad4644bd99437cafd236ff.png

1、点击A3单元格,按Ctrl+C,复制粘贴到SSMS或其他地方,可见Create建表的sql语句;

2、选择绿框区域,Ctrl+C,复制粘贴到SSMS或其他地方,可见给字段添加注释的sql语句。

如下图:

https://i-blog.csdnimg.cn/direct/937abe786ba64ea7b831d0e55e685ef7.png

可见数据表table1,各字段,以及字段描述。

https://i-blog.csdnimg.cn/direct/5ee7e334bbe3451c8f38cce04cd229a0.png


2.生成新增数据记录sql

2.1.维护新增的数据

https://i-blog.csdnimg.cn/direct/a524651b84414f83b1c765ba1ba2d85e.png

1、在 “待插数据”Sheet页 对已维护的字段,增加待新增的记录值;

2、由于id自增,所以数据表头从ziduan1开始;

3、 “表头”区域数据,来源于“table结构表”Sheet页的字段列B列 ,如果有字段没有在表头区域(第一行)出现,请将选中第一行已有数据区域,将鼠标移动到区域右下角,往右拉,直到全部字段都在表头出现,上面图片中第一行为0,表示对应字段单位格为空,不需要理会;

4、在“待插数据”页面,只需要注意表头显示全部字段。建议第一行出现0,表示表头有多余空闲字段,这样就不会遗漏字段。

2.2.处理新增的数据

https://i-blog.csdnimg.cn/direct/2a3415999ebc45aabde9d8a5887f95b9.png

1、见上图,C1到N1为表头,需要根据实际场景,将表头区域往右侧拉,将所有字段显示出来;

2、根据“待插数据”Sheet页维护的数据,选中数据区,将鼠标移动到蓝色数据区右下方,往右下方拉,补充已维护的数据,并检查数据完整性;

3、点击B1,点击编辑区的函数,检查蓝色区域是否包含全部字段,如果没有,将鼠标移动到蓝色数据区右下方,将区域往右侧拉大;见下方:

https://i-blog.csdnimg.cn/direct/da4fec0286024dffb46c5e5ae98211d1.png

4、然后点击选中B1,将鼠标移动到单元格右下方,往下拉,直到与右侧数据区域持平。将B列的数据格式同步成与B1一致。

5、点击选中A2,将鼠标移动到单元格右下方,往下拉,直到与右侧数据区域持平。将A列的数据格式同步成与A2一致。

2.3.获取sql语句

https://i-blog.csdnimg.cn/direct/b1fc0f87b37b4a4bb81f4db4f4c90067.png

1、选中A区域内红色字的区域,A2-An(n>=2)表示待插入的sql,

2、按Ctrl+C,将其复制粘贴到SSMS。

如下图:

https://i-blog.csdnimg.cn/direct/525d232a069949eca02b1c4ba7db9448.png

https://i-blog.csdnimg.cn/direct/ea2cde2fc52b4e72a47f7b3a3e7f4e73.png


总结

通过以上步骤,可快速生成建表sql与新增记录sql,这有助于我们快速进行数据维护,以及数据测试等。