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)

你可能感兴趣的:(sql,mysql,linux,OS)