当前位置: 首页 > Web前端 > JavaScript

如何通过执行SQL来加速低代码项目?

时间:2023-03-27 00:55:08 JavaScript

多看SQL加速代码开发,那么低代码遇到SQL会擦出什么样的火花呢?本文介绍低代码与SQL的结合,让大家了解如何通过执行SQL来加速低代码项目。背景从计算机诞生的那一刻起,如何让计算机按照人的需要工作,满足人的需要就成了一个难题,于是计算机语言诞生了。最初的计算机语言是由0和1组成的机器语言,是一组计算机可以直接识别和执行的机器指令,用二进制代码表示。它运行速度快,但不易使用,难学易懂。为了克服机器语言的缺点,人们用英文助记符来表示机器指令的代码,以代替机器语言中的指令和数据。于是第二代编程语言——汇编语言诞生了。汇编语言在一定程度上克服了机器语言难学难用的缺点,同时保证了执行速度快的优点。但是,汇编语言的通用性和可读性还是很高的。低的。于是一种基于人类日常语言的编程语言诞生了,这就是第三代编程语言——高级语言,比如大家熟悉的JAVA、JS、C#等,都属于第三代编程语言。高级语言与计算机的硬件结构和指令系统无关。它具有更强的表达能力,可以很容易地表达对数据的操作和程序的控制结构,可以更好地描述网格中的算法,更容易学习和掌握。程序员使用最广泛的语言,然而,第三代语言对于业务人员来说仍然难以理解。它需要经过专门的编程培训才能使用。于是诞生了第四代语言,即面向问题的语言。第四代语言是一种非常高级的语言,用户只需简单培训即可参与编程,解决具体问题。同时,第四代语言比第三代语言更接近日常语言,更易于编程,更广泛地被非专业程序员使用。就像我们今天的主角——SQL是第四代语言。用户不需要告诉计算机要做什么,只需要告诉它执行命令内容即可。低代码平台的诞生可以追溯到第四代语言。第四代语言的主要特点是易学、上手快。那么第四代语言SQL和开发周期短的low-code能擦出什么样的火花呢?SQL与低代码的碰撞我们先来看看没有SQL功能的低代码如何开发一个与数据库交互的项目。这里我们以企业级低代码开发平台——MovableType为例向大家介绍。MovableType中有数据库的概念,在MovableType的更新迭代过程中,也有从“没有SQL执行功能”到“有SQL执行功能”的变化。这个过程正好可以作为低代码显示速度的最好例子。早些时候,大多数低代码平台并不直接执行SQL函数。平台使用一些类似SQL的函数来实现数据处理,如可移动类型单元格中的odata、数据表操作等,实现对数据表的基本DML操作。但是一旦明确需要通过执行SQL来实现更复杂的业务场景,难免会显得捉襟见肘。其性能与SQL命令的执行之间也存在显着差距。可以看到,原本需要73秒执行SQL命令的插入5000行数据的操作,可以在1.5秒内完成。可见,在低代码项目中执行SQL,可以大大提高低代码项目的构建速度,提高低代码开发效率,让原本开发效率高的低代码项目更加高效。话说执行SQL有这么多优点,低代码项目如何执行SQL。我们以企业级低代码开发平台Mosaic为例。使用SQL函数可以实现很多复杂的功能,例如:编写和调用存储过程、创建临时表、创建表索引、创建多个联合查询等。这里通过两个简单的例子来介绍如何低代码使用SQL项目。现在数据表设计如下:课程表(课程号、课程名、学分)、学生表(学号、姓名、性别、专业)、成绩表(学号、课程号、分数)。那么现在的需求是输入课程名和学生名来查询学生的成绩,在活字格子里怎么做,我们一起来操作吧。首先设置前端页面,将活字格中的文本框单元格类型和按钮单元格类型设置为活字格的设计器页面。新建一个服务器命令,添加参数学生名,和课程名参数,在命令中新建一条SQL命令,数据库选择内置数据库(如果使用外部数据库,也可以直接在外部操作数据库通过连接字符串),添加学生姓名和课程名称参数,参数值可以直接从服务器命令接收到的参数值中获取,编写SQL语句如下SELECTscoretable。scoreFROMscoretablejoincoursetableonscoretable.课程编号=课程表。成绩表上的课程号加入学生表。学号=学生表。学生表所在的学号。name=@学生姓名和课程表。课程名称=@课程名称;将SQL结果即返回值写入变量SQL数组。由于执行SQL命令返回的结果是一个json对象数组,所以需要使用循环命令获取数组中的每一个Json对象,然后取值。本例中确定了名称和课程名称后,确定了分数,即SQL查询结果中只有一条记录,所以第一次可以使用return命令返回分数的值在循环。然后通过页面上的按钮调用服务器命令来调用构造好的SQL命令。选择学生名和课程名设计好的文本框,返回值返回给页面上的分数。这满足了这个要求。我们可以看看实现效果。学生名输入张三,课程名输入中文,点击查询,分数会显示88。这样,用低代码执行SQL就可以实现这个需求。我们改一下需求,输入一个学生的名字,查询这个学生所有课程的成绩。仍然以活字印刷为例,我们只需要改变上面的一些步骤即可。首先,在设置页面的步骤中,删除课程名称和课程名称后面的文本框,在评分区设置一个表格,表格中有课程栏目和成绩栏目。删除server命令中的课程名参数,删除server命令中SQL命令执行中的课程名参数。修改SQL语句如下SELECTscoretable,score,curriculumtable,coursenameFROM,scoretablejoincurriculumtableonscoretable,courseNumber=curriculum,coursenumberjoinstudenttableonscoretable,studentnumber=studenttable,学号其中student表,name=@studentname,直接返回查询数组结果。在前端调用时,将调用服务端命令的结果保存在SQL数组变量中,然后直接使用importJsondatatotable命令将json对象数组导入到表中。可以看到,在浏览器的文本框中输入张三,点击查询,就可以查询到张三的所有课程和成绩。可见,通过执行SQL可以大大提高低代码项目的开发效率,并且在需求变化时,也可以通过高速修改SQL语句和低代码项目来实现变化的需求。当然,这里只是通过两个简单的例子来展示如何通过执行SQL来加速低代码项目。一些更复杂的需求,比如编写和调用存储过程、创建临时表等,都可以在低代码的代码项目中实现。有兴趣的可以找相关的低代码产品进行详细了解。如果想了解更多低代码技术知识请访问:https://help.grapecity.com.cn...