见多了SQL为代码开发提速,那么当低代码遇到SQL会擦出怎样的火花呢?本文将低代码和SQL结合进行介绍 , 让大家了解如何通过执行SQL为低代码项目提速 。
背景自从计算机诞生的一刻起,如何让计算机能够按照人类的需求进行工作,满足人类的需要就成为了一个问题,于是便诞生了计算机语言 。最初的计算机语言是由0和1构成的机器语言,用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合,运行快,但是不容易使用,上手困难且难易理解 。为了克服机器语言的缺点,人们将机器指令的代码用英文助记符来表示,代替机器语言中的指令和数据 。便诞生了第二代编程语言——汇编语言,汇编语言在一定程度中克服了机器语言难以学习使用的缺点,同时保证了执行速度快的优点 , 但是汇编语言的通用性,可读性还是很低 。于是就诞生了以人类的日常语言为基础的一种编程语言 , 就是第三代编程语言——高级语言,像我们熟知的JAVA、JS、C#等都属于第三代编程语言 。
文章插图
高级语言与计算机的硬件结构及指令系统无关 , 它有更强的表达能力,可方便地表示数据的运算和程序的控制结构,能更好地描述格中算法,而且更易学习掌握,也是目前被程序员所使用的最为广泛的语言,但是,第三代语言对于业务人员来说还是难以理解 。需要在编程上有专门的训练才能使用 。于是便诞生了第四代语言 , 即面向问题的语言 。第四代语言是非常高级的语言 , 用户只需要简单的培训即可参与编程,解决特定的问题 。同时,第四代语言比第三代语言更接近日常语言,更容易编程,更广泛地被非专业程序员所使用 。像我们今天的主角——SQL就属于第四代语言 , 使用者并不需要告诉计算机要怎么做 , 只需要告诉它执行命令内容即可 。而低代码平台诞生可以追溯到第四代语言,第四代语言的主要特点就是简单易学、上手快 。那使用第四代语言SQL再加上本来开发周期就短的低代码,能擦出怎么样的火花呢?
SQL与低代码的碰撞我们先来看看没有使用SQL功能的低代码是如何开发一个项目与数据库进行交互的,这里使用企业级低代码开发平台-活字格为例向大家介绍 。活字格中是有数据库这个概念的 , 而且活字格在更新迭代的过程中也有从“无执行SQL功能”到“有执行SQL功能”的一个变化,这一过程正好可以作为展示执行SQL为低代码提速的最好例子 。早些时候,大多数的低代码平台没有直接执行SQL功能 , 平台通过一些类似SQL功能去实现数据处理,比如活字格中的odata、数据表操作等功能,以实现执行数据表基本的DML操作 。但是一旦明对更加复杂的业务场景,需要执行SQL才能实现时,就不免显得捉襟见肘 。其性能对比执行SQL命令也有显著差距 , 可以看到使用执行SQL命令原本需要73秒才能做完的插入5000行数据操作,现在1.5秒的时间就可以完成了 。
文章插图
由此可见在低代码项目中执行SQL可以大大提升低代码项目的搭建速度 , 提升低代码开发效率,使得开发效率本来就较高的低代码项目效率更高,那说了这么多执行SQL的优点,如何在低代码项目中执行SQL呢 。还是以活字格这款企业级低代码开发平台来举例 。使用SQL功能可以实现很多复杂的功能,比如:编写和调用存储过程、创建临时表、创建表索引、创建多个联合查询等 。这里找两个简单的例子给大家介绍一下如何在低代码项目中使用SQL 。现在有数据表的设计如下:课程表(课程号、课程名、学分)、学生表(学号、姓名、性别、专业)、分数表(学号、课程号、分数) 。然后现在的需求是输入课程名和学生名来查询这个学生的分数,那在活字格中怎么做呢,我们一起来操作下 。首先设置前端页面,将活字格中的文本框单元格类型 , 按钮单元格类型 , 设置在活字格的设计器页面中 。
文章插图
新建一个服务端命令 , 增加参数学生名,和课程名参数,命令中新建执行SQL命令,数据库选择内建库(如果使用外联数据库也可以通过连接字符串直接在外联数据库中操作),添加学生名和课程名参数,参数值直接从服务端命令接收的参数值中获取即可 , 写SQL语句如下SELECT 分数表.分数 FROM分数表 join 课程表 on 分数表.课程号 = 课程表.课程号 join 学生表 on 分数表.学号 = 学生表.学号 where 学生表.姓名=@学生名 and 课程表.课程名 =@课程名;将执行SQL结果,也就是返回值写到变量SQL数组中 。由于执行SQL命令返回的结果是一个json对象数组,所以需要使用循环命令去取得数组中的每个Json对象,再去取值即可 。这里示例中当确定了姓名和课程名之后,分数就确定了 , 也就是SQL查询的结果中只有一条记录 , 所以循环第一次就可以使用返回命令将分数的值返回出来 。
推荐阅读
- mac通过docker一键部署Jenkins
- 驱动开发:通过ReadFile与内核层通信
- QQ上如何建群(如何在qq上创建群聊)
- 「产品运营」研发效能之DevOps平台如何运营?
- 跳转控制语句break
- C#.NET ORM 如何访问 Access 数据库 [FreeSql]
- 怎么帮朋友转发他的朋友圈(如何幽默的让别人帮你转发朋友圈)
- 如何在微信的朋友圈转发己发过的东西(微信怎么转发别人以前发的朋友圈)
- 新手应该如何玩王者荣耀(新手上王者需要多久)
- ipad如何下载刺激战场国际服(ipad从哪下载刺激战场国际服)