登錄客戶端後,你需要切換到目標數據庫,通常我們會使用下面這個命令來切換數據庫:
MySQL>use wjgilmore_dev;
如果你想登錄後自動切換到目標數據庫,可以在上一步介紹的文件中添加下面的命令,注意位置也要放在[clIEnt]小節:
database = your_database_name
(二)MySQL常用命令--登錄過程自動化
正確配置的MySQL服務器需要你提供用戶名和密碼進行身份驗證,通常情況下,我們可以直接在MySQL命令後加上用戶名,出於安全考慮,密碼就不跟上了,回車執行時,命令提示符會提醒你輸入密碼。
%>mysql -u root -p Enter passWord: Welcome to the MySQL monitor. Commands end with ;or g. ...
通過這一個小小的改進,一年可以少輸入幾千次用戶名,累計起來在登錄時間上可以節省幾個小時,創建一個.my.cnf文件,將其放在你的home目錄下,如果是Windows,文件名則為my.ini,並且要放在MySQL安裝目錄下,在這個文件中,添加下面的代碼,請使用你的登錄信息替換占位符。
[clIEnt] host = your_MySQL_server user = your_username password = your_passWord
一定要正確設置這個文件的權限,防止敏感數據被偷窺。
(三)MySQL常用命令--將輸出內容轉儲到文件
你可能偶爾需要將SQL執行結果輸出到一個文本文件,可以使用SELECT INTO OUTFILE command命令達到目的,或直接在MySQL客戶端中啟用tee命令,並制定輸出文件實現同樣的功能,這在學習MySQL非常重要。如:
MySQL>tee sales_report.txt
(四)MySQL常用命令--從腳本發送命令
設計一個新數據庫時,我喜歡使用MySQL Workbench(MySQL工作台)設計模式和關系,它是一個特別強大的工具,你可以在圖形界面下管理你的模式,然後同步到MySQL服務器,或將SQL命令導出到一個文件,方便以後再導入到MySQL。
如果你喜歡手寫代碼,如創建大量的存儲過程,或執行一個很長的連接,你可以將SQL保存為一個文件,然後將這個文件傳遞給客戶端執行,如:%>MySQL < schema.sql
當然你需要指定連接字符串,或象前面一樣通過配置文件來指定。
(五)MySQL常用命令--啟用Tab鍵自動完成功能
重復輸入表名和字段名無疑是很乏味的,給MySQL客戶端傳遞一個--auto-rehash參數,或是在my.ini文件中添加下面的命令來啟用Tab鍵自動完成功能。
[MySQL] auto-rehash
(六)MySQL常用命令--改變提示符
我不止一次想查看或修改被告知表不存在的模式,遇到這種情況我常常會很恐懼,大多數時候我登錯數據庫,導致錯誤地刪除不該刪除的表,通過修改MySQL客戶端提示符,讓它顯示當前操作的數據庫名字,從而避免誤操作,為了讓mysql客戶端具備這種交互性,登錄後執行下面的命令即可:MySQL>prompt [d]> [dev_wjgilmore_com]>
你可能希望永久保持這種效果,簡單,只需要將下面的命令添加到你的配置文件中即可:prompt = [d]>
當然不僅限於提示數據庫名字,還可以顯示當前日期和時間,主機名和用戶名,請閱讀MySQL手冊了解更全面的信息。
(七)MySQL常用命令--使用安全更新預防災難
前面我也提到,當表被意外刪除時可能會引起恐懼,我相信不止我一個人有類似的經歷,除了不小心執行了DROP TABLE外,更讓人崩潰的是忽略WHERE子句的UPDATE命令,這就需要MySQL優化。例如,假設你想使用下面的命令修改用戶的用戶名:
MySQL>UPDATE users set User = 'wjgilmore' WHERE User = 'wjgilmore-temp';
但當你沖忙地想出去吃飯時,可能忘記敲入後面的WHERE子句
MySQL>UPDATE users set User = 'wjgilmore';
一旦你按下回車,後果就很嚴重,users表中所有用戶的用戶名全部被修改為wjgilmore了,為了避免這種低級,但又會帶來災難性後果的錯誤,請在配置文件中添加下面的命令:
safe-updates
這裡介紹的MySQL常用命令目的是幫助你更方便、快捷的操作,從而提升您的效率。不管你是挑選其中一部分還是嘗試這7個mysql常用命令技巧,它們都會為你節省大量的時間和精力,並會減輕你的痛苦,如果你知道其它MySQL常用命令行技巧,不妨在評論中一起分享一下吧!