MySQL Shell是目前MySQL官方最新的CLI客户端。MySQL Shell不但提供了操作SQL的功能、还提供了管理InnoDB Cluster的API,并且集成了大量的MySQL工具。在这一系列的文章里,将详细向读者介绍MySQL Shell的各种使用方法。这一篇将介绍如何使用MySQL Shell执行代码。
一、执行模式
MySQL Shell可以执行 SQL、JavaScript和Python代码,但同一时间只能激活一种语言。MySQL Shell执行操作时支持交互模式和批处理模式,默认使用交互模式。使用交互模式时,激活各种语言需要执行:sql ,js,py,例如:
在交互模式的任何一种语言下,如果需要执行操作系统的命令可以执行: ! 操作系统的命令,例如:
批处理模式可以处理用于加载的文件、包含重新定向到标准输出代码的文件,以及将不同的源重新定向到标准输出。例如:mysqlsh --py
mysqlsh --file hello.py
echo "show databases;" | mysqlsh --sql --uri root@localhost:3310
二、自动填充
MySQL Shell具有代码自动填充功能,在任何语言的交互模式下,可以使用TAB键进行代码填充。在SQL模式下,可以自动填充SQL关键字、表名称及部分SQL语句,例如:
三、调用操作系统的文本编辑器
MySQL Shell可以通过执行edit来调用系统默认的文本编辑器,如果无法识别系统的默认编辑器,在Windows下将调用记事本,Linux下将调用vi,例如:
注意,编辑结束需要保存,内容将出现在MySQL Shell里面。
四、代码历史
MySQL Shell能够将输入的命令或代码进行存储。用户可以通过箭头键进行前后的翻找,也可以使用Ctrl R向后查找,Ctrl S向前查找,Ctrl C取消查找。例如:
五、输出格式
MySQL Shell支持以表格、选项卡、JSON或垂直格式输出结果。可以通过resultFormat选项,进行持久化配置或者在当前会话中设置。此外,也可以通过命令行选项 --result-format在当前会话中设置。默认使用表格模式,例如:
通过设置shell.options.set('resultFormat','tabbed')使用制表符格式,例如:
通过设置shell.options.set('resultFormat','vertical')使用垂直格式,例如:
通过shell.options.set('resultFormat','json')使用JSON格式,例如:
使用设置shell.options.set('resultFormat','json/raw')使用JSON原生格式,例如:
使用设置shell.options.set('resultFormat','json/array')使用JSON数组格式,例如:
以上内容是关于使用MySQL Shell执行代码的内容,如果需要了解更为详细的内容,请访问官网手册“https://dev.mysql.com/doc/mysql-shell/8.0/en/mysql-shell-code-execution.html”