PDF(US Ltr) - 1.2Mb
PDF(A4) - 1.2Mb
在完全指定了要使用的语法的编程语言中使用 X DevAPI 时(例如,通过 X DevAPI 会话执行 SQL 语句或使用任何 CRUD 操作时),只有在调用 execute()
函数时才会执行实际操作。例如:
var result = mySession.sql('show databases').execute()
var result2 = myColl.find().execute()
上述 execute()
函数的调用会导致执行该操作并返回一个 Result 对象。然后将返回的 Result 对象分配给一个变量,并且该分配是执行的最后一个操作,它不返回任何数据。此类操作还可以返回 Result 对象,该对象用于处理从操作返回的信息。
或者,MySQL Shell 提供了以下可用性功能,使您可以更轻松地以交互方式使用 X DevAPI:
自动执行 CRUD 和 SQL 操作。
自动处理结果。
为了实现此功能,MySQL Shell 会在每次输入语句时监视上次执行的操作的结果。这些功能的结合使得使用 MySQL Shell 交互模式成为代码原型的理想选择,因为操作会立即执行,并且其结果会显示出来,而无需任何额外的编码。有关更多信息,请参阅 MySQL Shell 8.0。
如果 MySQL Shell 检测到返回了一个准备执行的 CRUD 操作,它会自动调用 execute()
函数。在 MySQL Shell 中重复上面的示例并删除赋值操作,表明该操作是自动执行的。
mysql-js> mySession.sql('show databases')
mysql-js> myColl.find()
MySQL Shell 执行 SQL 操作,如上所述,一旦执行此操作,就会返回一个 Result 对象。
如果 MySQL Shell 检测到将返回 Result 对象,它会自动处理它,并以最佳格式打印结果数据。Result 对象有多种类型,并且格式在它们之间有所不同。
mysql-js> db.countryInfo.find().limit(1)
[
{
"GNP": 828,
"IndepYear": null,
"Name": "Aruba",
"_id": "ABW",
"demographics": {
"LifeExpectancy": 78.4000015258789,
"Population": 103000
},
"geography": {
"Continent": "North America",
"Region": "Caribbean",
"SurfaceArea": 193
},
"government": {
"GovernmentForm": "Nonmetropolitan Territory of The Netherlands",
"HeadOfState": "Beatrix"
}
}
]
1 document in set (0.00 sec)