专栏首页华章科技如何用Excel快速生成SQL语句,用过的人都说好

如何用Excel快速生成SQL语句,用过的人都说好

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

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

作者:丶平凡世界

来源:SQL数据库开发(ID:sql_road)

01 导入Excel数据

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

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

02 写好模板语句

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

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

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

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

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

03 生成SQL语句

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

04 执行SQL

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

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

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

05 扩展SQL示例

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

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

--使用循环语句查询所有表的数量
DECLARE
TNAME VARCHAR2(200);
BEGIN
--获取系统表中的所有表名
  FOR X IN (SELECT TABLE_NAME FROM user_tables where table_name like 'HR_TEMPTABLE%')
--开始循环
  LOOP
  --循环主体部分

    TNAME :=X.TABLE_NAME;    --赋值
    EXECUTE IMMEDIATE 'SELECT '''X.TABLE_NAME'''||',COUNT(1) Num FROM '||X.TABLE_NAME;  --执行循环主体
  END LOOP;
  EXCEPTION
    WHEN OTHERS THEN
      DBMS_OUTPUT.put_line(TNAME);
      RAISE;
END;
END;

06 套用Excel生成SQL方法

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

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

SELECT TABLE_NAME FROM user_tables

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

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

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

有话要说?

Q: Excel还有哪些神应用?

本文分享自微信公众号 - 大数据(hzdashuju)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-09-19

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • tp5集成ElasticSearch

    mappings有点类似我们定义 MySQL的 数据库表结构的时候,需要指定每个字段的名字,其数据类型一样。当然,这个定义过程,也指明了这个表结构一共含有多少个...

    php007
  • 入门MySQL——备份与恢复

    前面几篇文章为大家介绍了 MySQL 各种语句语法的用法及用户权限相关知识。本篇文章将主要讲解 MySQL 数据库数据备份与恢复相关知识,主要聚焦于逻辑备份,介...

    MySQL技术
  • SQLmode最佳实践

    MySQL服务可以在不同的SQL模式下运行,并且可以针对不同的客户端以不同的方式应用这些模式,具体取决于sql_mode系统变量的值。我们可以设置全局SQL模式...

    MySQL技术
  • 入门MySQL——查询语法练习

    前面几篇文章为大家介绍了DML以及DDL语句的使用方法,本篇文章将主要讲述常用的查询语法。其实MySQL官网给出了多个示例数据库供大家实用查询,下面我们以最常用...

    MySQL技术
  • MySQL下的DB link

    在实际工作中,我们可能会遇到需要操作其他数据库实例的部分表,但又不想系统连接多库。此时我们就需要用到数据表映射。如同Oracle中的DBlink一般,使用过Or...

    MySQL技术
  • 面试官:为什么 MySQL 的索引要使用 B+ 树,而不是其它树?比如 B 树?

    来源 | https://www.cnblogs.com/leefreeman/p/8315844.html

    五分钟学算法
  • OLAP红与黑 | 也许你应该考虑一下Druid

    场景描述:Druid是一个专为大型数据集上的高性能切片和OLAP分析而设计的数据存储。Druid最常用作为GUI分析应用程序提供动力的数据存储,或者用作需要快速...

    王知无
  • 入门MySQL——架构篇

    上篇文章我们介绍了入门MySQL的基本概念,看完上篇文章,相信你应该了解MySQL的前世今生了吧。本篇文章将带你从架构体系来学习MySQL。我认为学习MySQL...

    MySQL技术
  • INT类型知多少

    整型是MySQL中最常用的字段类型之一,通常用于存储整数,其中int是整型中最常用的,对于int类型你是否真正了解呢?本文会带你熟悉int类型相关知识,也会介绍...

    MySQL技术
  • 入门MySQL——用户与权限

    前面几篇文章为大家介绍了各种SQL语法的使用,本篇文章将主要介绍MySQL用户及权限相关知识,如果你不是DBA的话可能平时用的不多,但是了解下也是好处多多。

    MySQL技术

扫码关注云+社区

领取腾讯云代金券