当前位置: 首页 > 科技观察

如何用Excel快速生成SQL语句,真的很爽使用

时间:2023-03-16 12:57:16 科技观察

Excel的自动生成公式想必大家都知道,就是写好一个公式往下拉,就可以自动生成后面数据的公式。今天我们使用这个功能来快速生成SQL语句。导入Excel数据导入Excel数据的方法有很多种,这里我们演示使用SQL代码导入Excel数据。比如我们要将左边Excel中的数据插入到数据库中,如下图:写完模板语句,我们可以先写一条插入语句,如下:INSERTINTOPersonVALUES(1,'吕布',25,'Male','13500000001')然后复制这条SQL语句,打开Excel,选中表格后面的一个单元格,把刚才的SQL语句粘贴到上面的函数位置并修改,="INSERTINTOPersonVALUES("&A2&",'"&B2&"',"&C2&",'"&D2&"','"&E2&"')"注意前面有一个=,整个SQL被""包围。确认生成的SQL语句后,可以看到单元格中会自动生成一条SQL语句。选中单元格下拉,会发现在所有行之后都会生成一条SQL语句。执行SQL,然后我们直接将这些SQL语句复制到数据库的查询窗口中执行。执行后,我们查询Person表中的数据。这样,Excel快速生成SQL语句的功能就完成了。SQL扩展示例以上只是一个简单的示例。利用这种方法,我们还可以自动生成很多其他的SQL脚本,比如查询数据库中所有表的记录数。当然,我们也可以使用循环遍历系统中的所有表,然后使用循环语句执行指定的语句,如下:--使用循环语句查询所有表的个数DECLARETNAMEVARCHAR2(200);BEGIN--获取系统表中的所有表名FORXIN(SELECTTABLE_NAMEFROMuser_tableswheretable_namelike'HR_TEMPTABLE%')--开始循环LOOP--循环体部分TNAME:=X.TABLE_NAME;--赋值EXECUTEIMMEDIATE'SELECT'''X.TABLE_NAME'''||',COUNT(1)NumFROM'||X.TABLE_NAME;--执行循环体ENDLOOP;EXCEPTIONWHENOTHERSTHENDBMS_OUTPUT.put_line(TNAME);RAISE;END;END;应用Excel生成SQL的方法,但是如果你是小白,就不会写上面的代码,并且这个时候我们需要做这样的事情怎么办?你可以使用上面的方法。可以先从系统表SELECTTABLE_NAMEFROMuser_tables中查询所有表名,将表名复制粘贴到Excel中,然后开始写查询语句,如下图:所有表中的记录数最多。这种方法也可以应用于很多类似的场景。它们的共同点是代码结构相同,只是代码中的参数不同。对于快速编写相应的SQL代码非常有效。