• 使用Excel批量生成SQL语句,用过的人都说好


    点击关注公众号,SQL干货及时获取

    后台回复:1024,获取海量学习资源

    Excel的公式自动生成想必大家都知道了,就是写好一个公式后直接往下拖,就可以将后面数据的公式自动生成。

    今天我们就用这个功能来快速生成SQL语句。

    导入Excel数据

    Excel的数据有多种方式,这里我们演示用SQL代码导入Excel中的数据。

    例如我们想把左边Excel中的数据插入到数据库中,如下图:

    9939e442835a5d9c75b73a1c6f77d514.png

    写好模板语句

    我们可以先写一条插入语句,如下:

    INSERT INTO Person VALUES(1,'吕布',25,'男','13500000001')

    然后复制这条SQL语句打开Excel,选中表格后的一个单元格,在上方函数位置粘贴刚才的SQL语句并做修改,

    ="INSERT INTO Person VALUES("&A2&",'"&B2&"',"&C2&",'"&D2&"','"&E2&"')"

    23882ba956c6b698c21db791f4c42612.png

    注意前面有个= 然后整个SQL用 ""包围住。

    生成SQL语句

    确认后就可以看到在单元格中会自动生成一条SQL语句。选中单元格下拉,会发现所有的行后面都会生成一条SQL语句。

    60c77ac45459974677c07818a722a23f.png

    执行SQL

    然后我们直接复制这些SQL语句到数据库的查询窗口执行。

    8870165bfbbe6023353f761bd079ab11.png

    执行完后我们查询Person表里的数据。

    074573d11b61c94903a333bf339994ae.png

    这样就完成了Excel快速生成SQL语句的功能。

    扩展SQL示例

    以上只是一个简单的示例,运用这种方法我们还可以自动生成很多其他的SQL脚本,比如要查询数据库中所有表中的记录数。

    当然我们可以使用循环遍历系统中的所有表然后再用循环语句执行指定的语句,如下:

    1. --使用循环语句查询所有表的数量
    2. DECLARE
    3. TNAME VARCHAR2(200);
    4. BEGIN
    5. --获取系统表中的所有表名
    6. FOR X IN (SELECT TABLE_NAME FROM user_tables where table_name like 'HR_TEMPTABLE%')
    7. --开始循环
    8. LOOP
    9. --循环主体部分
    10. TNAME :=X.TABLE_NAME; --赋值
    11. EXECUTE IMMEDIATE 'SELECT '''X.TABLE_NAME'''||',COUNT(1) Num FROM '||X.TABLE_NAME; --执行循环主体
    12. END LOOP;
    13. EXCEPTION
    14. WHEN OTHERS THEN
    15. DBMS_OUTPUT.put_line(TNAME);
    16. RAISE;
    17. END;
    18. END;

    套用Excel生成SQL方法

    但是如果是新手同学,不会写上面的代码,而此时又要我们做这样的事怎么办呢?就可以使用上面的方法了。

    可以先从系统表中查询出所有的表名

    SELECT TABLE_NAME FROM user_tables

    将表名复制粘贴到Excel中,然后开始写查询语句,如下图:

    e9af109ba9681860ab7365bb58ba4ae0.png

    然后将这些代码复制粘贴到查询窗口即可查询出所有表中的记录数了。

    b55f2457d62900e090fc0ac09e35f85e.png

    使用此方法还可以应用在很多类似的场景,他们的共同点就是代码结构一样,但是代码中的参数不一样,对于想快速写出相应的SQL代码是非常有效的。

    觉得不错,欢迎转发分享给更多人~

     
     

    1f62587dd5ea2c3613d76018dc1be854.gif

    我是岳哥,最后给大家分享我写的SQL两件套:《SQL基础知识第二版》《SQL高级知识第二版》的PDF电子版。里面有各个语法的解释、大量的实例讲解和批注等等,非常通俗易懂,方便大家跟着一起来实操。

    有需要的读者可以下载学习,在下面的公众号「数据前线」(非本号)后台回复关键字:SQL,就行

    数据前线

    cdc73ab04bfcf6dcb243456aec63b011.jpeg

    ——End——

     
     

    后台回复关键字:1024,获取一份精心整理的技术干货

    后台回复关键字:进群,带你进入高手如云的交流群。

    推荐阅读
  • 相关阅读:
    04. JAVA注解机制
    Linux高负载排查最佳实践
    Centos7下安装MySQL详细步骤
    Webpack入门:常用loader和plugin配置
    react hook:useMemo
    Java中的this关键字
    计算机毕业设计(附源码)python中学网站
    linux 下 rm 为什么要这么写?
    WorkPlus Meet:高效私有音视频会议,助力多场景协作
    JavaWeb | 七个步骤,完成一个servlet的hello world程序
  • 原文地址:https://blog.csdn.net/liyue071714118/article/details/127330161