MySQL Shell for VS Code简单使用

安装

pSjhvFS.png

extension_id: Oracle.mysql-shell-for-vs-code

只需要在vscode扩展中搜索, 安装即可.

pSj4AoT.png

可以看到也支持sqlite.

在界面上输入账号, 密码即可.

使用

pSj5j2Q.png

假如使用过jupyter notebook, 对于这种操作界面应该不陌生, 就是jupyter notebook的翻版, 不叫notebookshell反而有点不是很明确说明这个扩展的特性.

pSjTkjJ.png

jupyter notebook上使用mysql_connectorpandas实现上述效果.

相比于其他的操作MySQL的方式, 显然notebook的方式对于需要进行更复杂内容输出或者教学, 这种方式优势更为明显.

\about

Welcome to the MySQL Shell
— DB Notebook .
Press Ctrl+Enter to execute the current statement.
Execute \sqt to switch to SQL, \ js to JavaScript and \ ts to TypeScript mode.
Execute \help or \ ? for help;

可以看到这个扩展支持不限于SQL语言

和其客户端上的MySQL shell类似, 支持JavaScriptts.

The MySQL Shell is an interactive Javascript, Python, or SQL interface supporting development and administration for the MySQL Server and is a component of the MySQL Server. You can use the MySQL Shell to perform data queries and updates as well as various administration operations. The MySQL Shell provides: Both Interactive and Batch operations......

注意别搞混了, 这里的shell, 不知在cmd/powershell命令行进入的那个MySQL环境, MySQL shell是更强大的集成环境终端.

交互

支持代码的输入提示.

pSjoFeI.png

对于嵌套函数, 不便于理解的, 可以拆出来独立运行, 执行的结果.

在终端上, 如powershell, 可以保存上次运行的结果, 但是不支持代码输入的提示, 而像navicat之类的客户端支持代码提示, 但是却不能保存上次的执行结果.

JavaScript

使用

\js
# 或者
\JavaScript
# 切换到js环境
pSjTQ3D.png

支持ES6+

支持的全局函数

  • print, 打印函数, 而不是console.log
  • runSql, 执行返回结果
  • runSqtIterative, 返回的是结果的迭代器.
const cmd = 'select douban_id, title, publisher, publish_time, author, rate, rate_nums from book_table LIMIT 5;';

// cmd, 命令行字符串; () => callback, 回调函数
runSql(cmd, (results)=> {for (const r of results) print(r);})

小结

使用上还是很生硬, 在操作逻辑上也有不少问题, 例如登录/断开的方式不明晰.

执行结果的输出也是个问题, 不像jupyter notebook可以和各种文件类型进行交互, 不支持结果输出, (执行后有个export result按钮, 但是点击没反应).

同样, 也没有相应的绘图工具, 图和数据如影随从.

pSjbP9f.png

navicat集成的绘图工作区.

目前这个扩展的对于普通用户而言, 也就是作为交互更好的一个终端, 可以用于练习MySQL一些复杂的查询语句.