MySQL Shell简介

MySQL Shell(简称mysqlsh)是一个功能强大的MySQL命令行工具,官方推荐在5.7和8版本中使用。起初,我对这个工具并不了解,以为它只是一个简单的SQL命令执行工具,但后来发现事情并没有想象中那么简单。

现在我将其理解为一个交互式命令行工具,可以在其中运行Python、JavaScript代码来操作MySQL,从而省去了繁琐的SQL操作。官方文档非常详细,提供了丰富的信息和示例。

官方文档参考:MySQL Shell官方文档

Shell命令

这篇文章今天还修订过,说明官方更新很频繁。个人笔记如下:

基本命令:

- \? {command}:查看命令的用法,也可以用\help {command}

- \py:进入Python模式

- \js:进入JavaScript模式

- \sql:进入SQL模式

- \exit:退出MySQL Shell

连接数据库:

```bash

mysqlsh --user root --host localhost --port 3306

```

使用\connect命令后接uri字符串连接,默认为MySQL方式。参见使用uri字符串连接。可以使用多种方式,如\connect [--mx|--mysqlx|--mc|--mysql]。例如:

```bash

\connect root@localhost:3306

```

使用键值对连接:

```python

shell.connect({"user": "root", "host": "localhost", "port": 3306})

```

mysqlsh、\connect、shell.connect()和uri、键值对之间好像是有组合关系,我只试了这三种组合关系,其他有些不会用。感觉文档很乱,看得我难受。

代码执行:要指定特定的文件需要转换到特定的语言模式。比如在Python模式下,可以这样做:

```bash

mysqlsh --py < code.py

```

算了,就这样吧。我还是用Workbench吧,不知道怎么用Python操作数据库。我也不知道它用哪个库,哪个方法。