MySQL的客戶端命令行工具,有不少方便使用者的特性,某些方面甚至能夠說比Oracle的sqlplus更加人性化。固然從總體來講,仍是sqlplus更加方便些,這麼說或許是我對sqlplus更加熟悉吧。這裏記錄下MySQL命令行幾個比較經常使用的特性。html
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.7mysql
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 stdoutsql
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.less
4.執行OS命令
mysql> system uname
Linux
mysql> \! uname
Linuxide
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)工具
其餘還有一些功能,能夠經過help或者?得到MySQL命令行支持的一些命令。.net
轉載自:http://www.ningoo.net/html/2008/mysql_cmdline_tips_g_pager_tee.html命令行