3.4 MySQL Shell自动代码执行

当您使用x devapi以编程语言完全指定要使用的语法时,例如,当通过x devapi会话执行SQL语句或与任何CRUD操作一起工作时,仅执行实际操作执行()函数被调用。例如:

var结果= mysession.sql('show databases')。execute()var结果2. = mycoll.find()。Execute()

呼唤执行()上面的函数导致执行的操作并返回结果对象。然后将返回的结果对象分配给变量,并且赋值是执行的最后一个操作,这返回任何数据。此类操作也可以返回结果对象,该对象用于处理从操作返回的信息。

或者,MySQL shell提供以下可用性功能,使其更易于与X Devapi交互方式:

  • 自动执行CRUD和SQL操作。

  • 自动处理结果。

为了实现这个功能,MySQL Shell监视每次输入语句时执行的最后一个操作的结果。这些特性的结合使得使用MySQL Shell交互模式非常适合于原型化代码,因为操作可以立即执行,并且它们的结果不需要任何额外的编码就可以显示出来。有关更多信息,请参见mysql shell 8.0

自动代码执行

如果MySQL Shell检测到返回了一个准备执行的CRUD操作,它将自动调用执行()功能。在MySQL Shell中重复上面的示例并删除分配操作显示操作会自动执行。

mysql-js> mysession.sql('show databases')mysql-js> mycoll.find()

MySQL shell执行SQL操作,如上所述,一旦执行此操作,就会返回结果对象。

自动结果处理

如果MySQL shell检测到将返回结果对象,它会自动处理它,以最佳格式打印结果数据。有不同类型的结果对象和格式在它们上发生变化。

mysql-js> db.countryinfo.find()。限制(1)[{“GNP”:828,“Indepyear”:null,“名称”:“Aruba”,“_ID”:“abw”,“人口统计学”:{“LifeExpectancy”:78.4000015258789,“人口”:103000},“地理”:{“北美洲”:“北美”,“地区”:“加勒比亚”,“Surfacearea”:193},“政府”:{“政府表现“:”荷兰的非勒索境内“,”头部“:”Beastrix“}}] 1套装(0.00秒)