mysql 命令 g_MySQL命令行的几个用法

MySQL命令行的几个用法

MySQL的客户端命令行工具,有很多方便使用者的特性,某些方面甚至可以说比Oracle的sqlplus更加人性化。当然从整体来说,还是sqlplus更加方便些,这么说或许是我对sqlplus更加熟悉吧。这里记录下MySQL命令行几个比较常用的特性。

1.使用\G按行垂直显示结果

如果一行很长,需要这行显示的话,看起结果来就非常的难受。在SQL语句或者命令后使用\G而不是分号结尾,可以将每一行的值垂直输出。这个可能也是大家对于MySQL最熟悉的区别于其他数据库工具的一个特性了。

mysql> select * from db_archivelog\G

*************************** 1. row ***************************

id: 1

check_day: 2008-06-26

db_name: TBDB1

arc_size: 137

arc_num: 166

per_second: 1.6

avg_time: 8.7

2.使用pager设置显示方式

如果select出来的结果集超过几个屏幕,那么前面的结果一晃而过无法看到。使用pager可以设置调用os的more或者less等显示查询结果,和在os中使用more或者less查看大文件的效果一样。

使用more

mysql> pager more

PAGER set to 'more'

mysql> \P more

PAGER set to 'more'

使用less

mysql> pager less

PAGER set to 'less'

mysql> \P less

PAGER set to 'less'

还原成stdout

mysql> nopager

PAGER set to stdout

3.使用tee保存运行结果到文件

这个类似于sqlplus的spool功能,可以将命令行中的结果保存到外部文件中。如果指定已经存在的文件,则结果会附加到文件中。

mysql> tee output.txt

Logging to file 'output.txt'

或者

mysql> \T output.txt

Logging to file 'output.txt'

mysql> notee

Outfile disabled.

或者

mysql> \t

Outfile disabled.

4.执行OS命令

mysql> system uname

Linux

mysql> \! uname

Linux

5.执行SQL文件

mysql> source test.sql

+----------------+

| current_date() |

+----------------+

| 2008-06-28 |

+----------------+

1 row in set (0.00 sec)

或者

mysql> \. test.sql

+----------------+

| current_date() |

+----------------+

| 2008-06-28 |

+----------------+

1 row in set (0.00 sec)

通过/etc/my.cnf配置文件的[mysql]部分,可以设置MySQL命令行的一些运行参数。例如: [mysql] prompt=\\u@\\d \\r:\\m:\\s> pager='less -S' tee='/tmp/mysql.log'

通过prompt设置显示用户名,当前数据库和当前时间,注意在配置文件里最好使用双斜杠: root@poster 10:26:35>

通过pager设置使用less来显示查询结果,-S表示截断超过屏幕宽度的行,一行太长MySQL的显示格式就显得很乱,如果要看完整的行,建议使用\G将行垂直输出。当然,你也可以添加更多less的参数来控制输出。

tee则将MySQL执行的所有输出保存到一个日志文件中,即使使用less -S截断了超长行,在日志中还是会记录整个的结果,另外,前面通过prompt设置了当前时间显示,这样也便于在日志文件中查看每次操作的时间。由于 tee的结果是附加到文件中的,日志文件需要定期清除。

其他还有一些功能,可以通过help或者?获得MySQL命令行支持的一些命令。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值