国查:用中文编写SQL

245 阅读3分钟
原文链接: mp.weixin.qq.com

这两天被 文言(wenyan-lang)刷屏了,这个项目在于使用文言文进行编程,我打算蹭个热度,把年初的作品再捞一捞,即中文SQL。

1.  文言

Wenyan:

吾有一數。曰三。名之曰「甲」。為是「甲」遍。	吾有一言。曰「「問天地好在。」」。書之。云云。

等效 JavaScript:

var n = 3;for (var i = 0; i < n; i++) {	console.log("問天地好在。");}

输出:

問天地好在。問天地好在。問天地好在。

2.  “国查"

首先我们先来看一个case

                        查询 { 本次 使用 数据库{// username="1"// password="1"// url="jdbc:mysql://localhost:3306/1"// driver="com.mysql.jdbc.Driver" } 本次 表 组("gtp_user","gtp_user_role") 本次 字段 组("gtp_user.name","gtp_user_role.role_id")                            本次 条件 "gtp_user.name = 'admin'" 本次 聚合 组("gtp_user.name","gtp_user_role.role_id") 本次 排序 组("gtp_user_role.role_id") 本次 截取 (1 到 11) } 画 线图

下面我们来逐步解析这个案例,首先构建一个 查询,这其实是在构建一个查询对象,在这个查询对象的作用域内, 本次代表当前的查询。

这里可以将数据库配置,修改成自己的配置

//                username="1"//                password="1"//                url="jdbc:mysql://localhost:3306/1"//                driver="com.mysql.jdbc.Driver"

没有自己数据库的小伙伴们,也可以使用我内置的数据源来进行查询 。

           本次 使用 数据源{

                dsName="hcdsl"

            }

本次 使用 数据库 {} 里面可以使用你自己的数据源,去掉注释,修改成你自己的数据源即可。目前只设置了基础属性。

现在支持的查询谓词: 字段条件聚合排序截取

支持的动作谓词: 线图饼图)、 ( CSVHTMLJSON

其他: 

:用来设置查询的表,输入 表名,必填属性,需要使用双引号括起来。可与组联用。

字段:用来设置查询字段,输入 表名.字段名 ,必填属性,需要使用双引号括起来。可与组联用。

条件:用来设置查询条件表达式,暂时只能将所有条件一起输入, 可选属性,需要使用双引号括起来。

聚合:用来设置查询的聚合字段,输入 表名.字段名, 可选属性,需要使用双引号括起来。可与组联用。

排序:用来设置查询的排序字段,输入 表名.字段名, 可选属性,需要使用双引号括起来。可与组联用。

截取 :用来设置查询的结果集数量,输入 数字,例如:到 10,就是取前10条,或是输入 (数字 到 数字) , 例如: (5 到 10),获取从第五条开始的10条数据。

:用来将结果输出,目前支持,线图、饼图和表,不 需要使用双引号括起来

:用来讲结果格式化输出,目前支持格式CSV、HTML、JSON, 需要使用双引号括起来

有兴趣的同学,可以扫码玩一玩

如果文章对您有帮助

欢迎关注,在看,分享

你 「在看」 吗?