使用SQL查询数据
AstroZero支持使用SQL语句查询数据,使用SQL查询数据可以简洁直观的查看数据表。本节主要为您介绍,如何使用控制台、脚本及服务编排查询数据。
前提条件
查询数据一般是基于对象的查询,本节以查询Class对象(实际创建的对象名为CNAME__Class__CST)为例进行介绍。进行查询操作之前,您需要先在Class对象中,新建自定义字段,并添加数据。
如果您还没有Class对象,请先按照创建自定义数据对象中的步骤创建自定义对象Class及字段,并按照如何使用布局增删改查对象数据中的步骤添加数据。
如何使用控制台查询数据
- 参考登录经典应用设计器中操作,进入经典版应用设计器。
- 在应用开发页面的左侧导航栏中,单击,弹出控制台页面。
图1 控制台入口
- 在“对象管理”页签,输入SQL语句,单击“执行”。
例如,输入“select CNAME__number__CST from CNAME__Class__CST”,即可显示查询的字段列,如图2所示。关于控制台的更多介绍,请参见使用控制台分析查询SQL。
如何使用脚本查询数据
使用脚本查询自定义对象Class(CNAME__Class__CST),对象创建过程可参见创建自定义数据对象,数据添加过程可参见如何使用布局增删改查对象数据。
- 参考脚本开发实例中操作,新建脚本“search_data”,并在脚本中输入以下代码,保存脚本。
脚本是使用execute接口执行sql语句,脚本执行后,可以在脚本底部“日志”页签中,查看查询结果。
import * as db from 'db'; import * as es from 'es'; @useObject(['CNAME__Class__CST']) @action.object({ type: "param" }) export class Input { } @action.object({ type: "param" }) export class Output { } @action.object({ type: 'method' }) export class SearchScript { @action.method({ input: 'ParamsInput', output: 'ParamsOutput' }) public run(input: Input): Output { let out = new Output() this.doSearchScript(); return out; } private doSearchScript() { let sql = db.sql(); let sqlTest = "select name,CNAME__number__CST from CNAME__Class__CST " + "where CNAME__number__CST > ?" let result = db.sql().exec(sqlTest, { params: [0] }) console.log("result", result) } }
- 单击,执行脚本,并在脚本底部的“日志”页签中,查看执行后结果。
脚本开发的更多介绍,请参见脚本开发。图3 脚本执行SQL查询对象“CNAME__Class__CST”数据
如何使用服务编排查询数据
使用服务编排中“记录查询”图元,查询自定义对象Class(CNAME__Class__CST),实现“select name, CNAME__number__CST from CNAME__Class__CST”。
服务编排开发的相关内容,请参见如何使用服务编排开发数据的增删改查。