代码改变世界

使用Excel批量生成SQL脚本(小技巧)

  听风吹雨  阅读(26410)  评论(16编辑  收藏  举报

需求:

  我们需要把Excel中的一些资料更新到数据库表中,比如学生的考试系统,在数据中已经有了考生的ID,这里有一份考生ID和考生成绩的Excel表,我们如何把考生成绩更新到数据库表中呢?

 

方案:

  1. 我们最常使用的做法就是把这个Excel表导入到数据库中,在使用update语句来更新表。没错,这就是我通常使用的方法,但是有些人他们不安常理出牌,有时候客户说:我只会执行SQL,我不知道怎么把Excel导入到数据库中。
  2. 这个时候我们如何把要更新的内容生产SQL语句给到客户呢?如何是一两条记录,我们手动写SQL就可以了,但是如果有几百个学生,我们要手动写几百条语句吗?是否有批量生成SQL脚本的方法?这就是我们这里要讲到的:使用Excel批量生成SQL脚本(小技巧)

 

过程:

这是一个原始的Excel表,它包括了一些ID值和需要更新字段的值:

 

(图:1)

1:确定需要生成的SQL语句模型。

--根据需求写一条SQL模板
update 表 set [Longitude] = '' , [Latitude] = '' where [ID]= '' and [Name] = ''

 

2:删除Excel表中多余的列,保留需要更新和查询条件的列。并按照需要生成的sql语句顺序进行排序。

前面两个列是需要更新的值,后面两个是where的条件字段

 

(图:2)

 

3:在Excel表插入空列,拷贝相关的语句进去。

拷贝第一语句放入合适的单元格,把把这一列一拖到底,生成同样的语句

 

(图:3)

 

4:把结果拷贝到查询分析器中,使用替换把多余的空格去掉。

 

(图:4)

 

--下面就是生成的语句
update [XX] set [Longitude] = '113.41993' , [Latitude] = '23.42718' where [ID]= 'dd9a6197-a068-4eae-83cd-01f75e827234' and [Name] = 'XXXX'
update [XX] set [Longitude] = '113.41993' , [Latitude] = '23.42718' where [ID]= 'dd9a6197-a068-4eae-83cd-01f75e827234' and [Name] = 'XXXX'
update [XX] set [Longitude] = '113.41993' , [Latitude] = '23.42718' where [ID]= 'dd9a6197-a068-4eae-83cd-01f75e827234' and [Name] = 'XXXX'
--。。。。。。

 

编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
点击右上角即可分享
微信分享提示