mysql pager用法&命令行命令

下面讲的命令,有部分只能在linux上才有。像pager命令windows上就没有了。

分屏:
在Linux上,而且不是xwindow时,使用mysql命令行时,输出太多的东西,看不到就很悲剧了。在shell中可以使用管道或是直接用more,但是mysql命令行里怎么办呢?
有pager命令,解决了上面的问题。

mysql> pager more
PAGER set to 'more'
mysql> show tables;
table1
...
tableN
--more--

等等,我要是不想再用分屏显示怎么办,nopager|\n帮你变回原样(stdout)。

pager的功能,可不只这种功能。
    现在我只想知道执行命令需要多少时间,我想要放弃结果:

mysql> pager cat > /dev/null
PAGER set to 'cat > /dev/null'
mysql> SELECT ...
1000 rows in set (0.91 sec)
mysql> SELECT ...
1000 rows in set (1.63 sec)

    “哦,我想要改造一下现在这条sql语句,可是又不知道改完以后得到的结果是否与原来的一样”:
   

mysql> pager md5sum
PAGER set to 'md5sum'
mysql> SELECT ...
32a1894d773c9b85172969c659175d2d
1 row in set (0.40 sec)
mysql> SELECT ...
fdb94521558684afedc8148ca724f578  -
1 row in set (0.16 sec)

    结果不一样,我想我要重新调整一下。
    
    show processlist输出的结果太多了,我想直接知道有多少连接sleep:

mysql> pager grep Sleep | wc -l
PAGER set to 'grep Sleep | wc -l'
mysql> show processlist;
337
346 rows in set (0.00 sec)

 
命令行有用的命令:
tee|\T filename:
    把所有输出添加到filename文件里头。
    取消使用:notee|\t
    例:

mysql> tee text.log
Logging to file 'text.log'

source|\. filename:
    运行filename文件里的sql语句。
    例:mysql> source \tmp\mysql.sql

eog|\G:
    执行命令,并把结果垂直输出,这个命令对于表里有很多字段时,为了显示的更清晰时,非常有用。
    例:
    mysql> show databases\G
    *************************** 1. row ***************************
    Database: information_schema
    *************************** 2. row ***************************
    Database: bigdb
    后台省略

system command:
    执行系统命令。
    例:
    mysql> system echo 'execute system command'
    execute system command
    
还有其他的命令,用help|\?去查看吧。

posted @ 2013-07-15 14:45  luffy_zhong  阅读(2577)  评论(1编辑  收藏  举报