【笔记】MySQL的交互式终端

前言

MySQL 8.x版本的交互式终端(mysqlsh)学习笔记

下载依赖

Linux

Debian

1
apt install mysql-shell

MacOS

1
brew install mysql-shell

Windows

  • 通过 MySQL Installer 安装的MySQL会自带mysqlsh.exe,路径为C:\Program Files\MySQL\MySQL Shell 8.0\bin\mysqlsh.exe

查看版本号

1
mysqlsh --version

操作数据库的脚本

JS脚本

1
2
var db = session.getSchema("<database_name>");
db.getTable("<table_name>").select().execute();

Python脚本

1
2
db = session.get_schema("<database_name>")
db.get_table("<table_name>").select().execute()

SQL脚本

1
2
USE <database_name>;
SELECT * FROM <table_name>;

通过交互式终端操作MySQL数据库

启动交互式终端

模式
--js-j:缺省值,以JS模式启动
--py-p:以Python模式启动
--sql-s:以SQL模式启动

认证
-h 127.0.0.1 -P 3306 -u root -p:传递参数的认证方式
root@127.0.0.1:URI形式的认证方式

1
mysqlsh

查看帮助

1
MySQL JS > \?
1
MySQL JS > \help

退出MySQLShell

1
MySQL JS > \quit

切换模式

\js:切换到JS模式
\py:切换到Python模式
\sql:切换到SQL模式

1
MySQL JS > \py

重新认证

  • 通过\connect重新认证时只能使用URI形式的认证方式

--mysql--mc:经典协议,3306端口
--mysqlx--mx:X协议,33060端口

1
MySQL JS > \connect --mysql root@127.0.0.1:3306

执行一条SQL语句

<sql>:SQL语句

1
MySQL JS > \sql <sql>

通过执行脚本文件操作MySQL数据库

-f <file>.js:指定JS脚本文件
-f <file>.py:指定Python脚本文件
-f <file>.sql:指定SQL文件

1
mysqlsh --sql -f <file>.sql

通过执行一条脚本操作MySQL数据库

--js -e "<js>":执行JS脚本
--py -e "<python>":执行Python脚本
--sql -e "<sql>":执行SQL语句

1
mysqlsh --js -e "<js>

完成