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)

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

轉載自:http://www.ningoo.net/html/2008/mysql_cmdline_tips_g_pager_tee.html

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章