mysql client基本简化命令
以下简化命令仅对应mysql自身的客户端,对其它mysql客户端工具无效。
我们在用mysql -uroot -p 登录之后,输入help命令,可获取mysql的基本的命令:

这段输出主要包含两部分信息:
第一部分为MYSQL客户端相关的小命令,其对应的中文翻译如下:
? | (\?) | 显示帮助信息。与\h的功能相同 |
clear | (\c) | 不执行当前正在输入的命令。若\c前已包含命令分隔符,则命令分隔符之前的部分仍然执行。 |
connect | (\r) | 重新连接到服务器。该命令有两个参数:数据库名和服务器主机名,其中主机名可省略。 |
delimiter | (\d) | 修改命令分隔符 |
ego | (\G) | 将命令的结果以垂直的形式显示 |
edit | (\e) | mysql中的临时“vi”编辑器 |
exit | (\q) | 退出 |
go | (\g) | 向服务器发送命令。在语句的最后使用,可替代命令分隔符。 |
help | (\h) | 显示帮助信息。与\?的功能相同 |
notee | (\t) | 不要写入OUTFILE |
(\p) | 显示当前执行的命令 | |
pager | (\P) | 通过pager配置的系统命令打印mysql的输出结果 |
prompt | (\R) | 修改MYSQL的提示符 |
quit | (\q) | 退出 |
source | (\.) | 执行参数文件中的SQL脚本 |
status | (\s) | 获取服务器端状态 |
tee | (\T) | 指定一个输出文件,将命令行中的所有操作及结果记入此文件 |
use | (\u) | 转换当前使用的数据库 |
charset | (\C) | 转换当前connection及client的字符集 |
warnings | (\W) | 显示警告信息 |
nowarning | (\w) | 不显示警告信息 |
下面一条条解决这些命令的妙用:
1. \?与\h、help功能一样,一块解释,用于查看命令的帮助信息,相当help命令,\? = \h = help ,如:

2. \c 用不执行之前的命令,比如我输入了命令select * from 命令了,但是我突然改变主意了,不想select了,我们一般都会把前例的命令给清除掉,但是这样比较慢,其实我们可以这样, 在最后加入\c就以了,命令就不会执行了,但是如果命令后面已经加了分隔符号(;),那么命令依然会执行,如:

3. \r用于mysql的重连接,比如我们设置了某全局变量,全局变量不对当前session生效,退出当前session,重新连接,这样就才能生效,用\r可以达到快速重连接,等同于命令connect,如:

4. \d修改命令分隔符(默认;),这个经常更改的,比如在定义存储过程等语句中,为了更好理解,一般使用delimiter命令,如:


5. \G将命令的结果以垂直的形式显示,这是我们最常用的,等同于命令ego,不作过多解释,如:

6. \q即退出mysql登录,等同于quit与exit命令,如:

7. \P等同于命令pager,通过pager配置的系统命令打印mysql的输出结果,取消pager配置使用nopager或单独使用pager命令,当也可单独使用\P来取消,具体使用如下:


通过上面的例子可以看,mysql执行命令之后输出结果,将输入结果交给\P 配置的系统命令去处理了,相当于mysql执行完之后,调用system 命令去处理结果集了。
8. \g 向服务器发送命令。在语句的最后使用,可替代命令分隔符,如:

9. \p 显示当前执行的命令,再显示命令结果,如:

10. 设置pager方式,后面接shell命令,可以设置为调用more,less等等,主要是用于分页显示


11. \R修改命令提示符,同命令prompt,如:

12. \.等同于source命令,用于执行sql脚本,如:


13. \s获取服务器端状态,如:


14. \T将命令结果输入到一个文件中,也可以用命令tee,取消输出使用命令notee,如:
先指定一个输出文件,再执行mysql的某些命令

以上所以执行的命令和结果都会输出到文件

直接输入tee显示当前的tee配置,取消输出使用notee

15. \u等同use命令,切换数据库,这里有点小区别,使用\u db_name后面不能带分隔符,如:


16. \C 切换当前session的字符集,相当于charset与set names,如:

17. \W与\w 开启或关闭警告信息,默认关闭,等同于warnings与nowarnings命令,警告信息可以通过show warnings查看,如:
关闭状态与开启状态对比,关闭时只提示有警告信息,具体的警告信息需要通过show warnings查看

18. \e等同于edit,是mysql中的vi编辑器,实际也是调用bash的vi编辑,编辑完之后保存到/tmp目录中的临时文件,退出vi之后输入分隔符;执行该临时文件,如


19. \! 等同于system,mysql中执行shell命令,Windows版本无此命令:
