设为首页 - 加入收藏 银川站长网 (http://www.0951zz.com)- 国内知名站长资讯网站,提供最新最全的站长资讯,创业经验,网站建设等!
热搜: 2018 停止 方法
当前位置: 首页 > 运营中心 > 建站资源 > 优化 > 正文

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

发布时间:2019-09-18 20:31 所属栏目:[优化] 来源:佚名
导读:Excel的公式自动生成想必大家都知道了,就是写好一个公式后直接往下拖,就可以将后面数据的公式自动生成。 今天我们就用这个功能来快速生成SQL语句。 导入Excel数据 Excel的数据有多种方式,这里我们演示用SQL代码导入Excel中的数据。 例如我们想把左边Exc

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

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

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

导入Excel数据

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

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

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

写好模板语句

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

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

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

  1. ="INSERT?INTO?Person?VALUES("&A2&",'"&B2&"',"&C2&",'"&D2&"','"&E2&"')"?
如何用Excel快速生成SQL语句,用起来真的很爽

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

生成SQL语句

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

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

执行SQL

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

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

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

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

这样就完成了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方法

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

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

  1. SELECT?TABLE_NAME?FROM?user_tables?

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

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

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

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

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

【免责声明】本站内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

网友评论
推荐文章