溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

有哪些可以節(jié)省時(shí)間的MySQL命令

發(fā)布時(shí)間:2021-09-16 15:46:24 來(lái)源:億速云 閱讀:119 作者:chen 欄目:數(shù)據(jù)庫(kù)

本篇內(nèi)容主要講解“有哪些可以節(jié)省時(shí)間的MySQL命令”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“有哪些可以節(jié)省時(shí)間的MySQL命令”吧!

  有哪些能節(jié)省時(shí)間的MySQL命令

  1、登錄過(guò)程自動(dòng)化

  正確配置的MySQL服務(wù)器需要你提供用戶(hù)名和密碼進(jìn)行身份驗(yàn)證,通常情況下,我們可以直接在mysql命令后加上用戶(hù)名,出于安全考慮,密碼就不跟上了,回車(chē)執(zhí)行時(shí),命令提示符會(huì)提醒你輸入密碼。

  %>mysql-uroot-pEnterpassword:WelcometotheMySQLmonitor.Commandsendwith;org....

  通過(guò)這一個(gè)小小的改進(jìn),一年可以少輸入幾千次用戶(hù)名,累計(jì)起來(lái)在登錄時(shí)間上可以節(jié)省幾個(gè)小時(shí),創(chuàng)建一個(gè).my.cnf文件,將其放在你的home目錄下,如果是Windows,文件名則為my.ini,并且要放在MySQL安裝目錄下,在這個(gè)文件中,添加下面的代碼,請(qǐng)使用你的登錄信息替換占位符。

  [client]host=your_mysql_serveruser=your_usernamepassword=your_password

  一定要正確設(shè)置這個(gè)文件的權(quán)限,防止敏感數(shù)據(jù)被偷窺。

  2、自動(dòng)切換數(shù)據(jù)庫(kù)

  登錄客戶(hù)端后,你需要切換到目標(biāo)數(shù)據(jù)庫(kù),通常我們會(huì)使用下面這個(gè)命令來(lái)切換數(shù)據(jù)庫(kù):

  mysql>usewjgilmore_dev;

  如果你想登錄后自動(dòng)切換到目標(biāo)數(shù)據(jù)庫(kù),可以在上一步介紹的文件中添加下面的命令,注意位置也要放在[client]小節(jié):

  database=your_database_name

  3、從腳本發(fā)送命令

  設(shè)計(jì)一個(gè)新數(shù)據(jù)庫(kù)時(shí),我喜歡使用MySQLWorkbench(MySQL工作臺(tái))設(shè)計(jì)模式和關(guān)系,它是一個(gè)特別強(qiáng)大的工具,你可以在圖形界面下管理你的模式,然后同步到MySQL服務(wù)器,或?qū)QL命令導(dǎo)出到一個(gè)文件,方便以后再導(dǎo)入到MySQL。

  如果你喜歡手寫(xiě)代碼,如創(chuàng)建大量的存儲(chǔ)過(guò)程,或執(zhí)行一個(gè)很長(zhǎng)的連接,你可以將SQL保存為一個(gè)文件,然后將這個(gè)文件傳遞給客戶(hù)端執(zhí)行,如:

  %>mysql

  當(dāng)然你需要指定連接字符串,或象前面一樣通過(guò)配置文件來(lái)指定。

  4、垂直顯示結(jié)果

  即使是很簡(jiǎn)單的表模式,也會(huì)包含幾列字段,例如下面的表由11個(gè)字段組成,當(dāng)我執(zhí)行一個(gè)全結(jié)構(gòu)查詢(xún)時(shí),輸入結(jié)果如下:

  mysql>select*fromaccountswhereusername='wjgilmore';+----+-----------+------------------+----------------------------------+----------+-----------+------------+-----------+----------------------------------+---------------------+---------------------+|id|username|email|password|zip_code|latitude|longitude|confirmed|recovery|created_on|last_login|+----+-----------+------------------+----------------------------------+----------+-----------+------------+-----------+----------------------------------+---------------------+---------------------+|7|wjgilmore|wj@wjgilmore.com|2b877b4b825b48a9a0950dd5bd1f264d|43201|39.984577|-83.018692|1|8bnnwtqlt2289q2yp81tuge82fty501h|2010-09-1614:48:41|2010-10-2715:49:44|+----+-----------+------------------+----------------------------------+----------+-----------+------------+-----------+----------------------------------+---------------------+---------------------+

  顯然我們不能接受,也無(wú)法閱讀這種顯示結(jié)果,使用G命令將上面丑陋的顯示結(jié)果轉(zhuǎn)換為垂直型。

  mysql>select*fromaccountswhereusername='wjgilmore'G***************************1.row***************************id:7username:wjgilmoreemail:wj@wjgilmore.compassword:2b877b4b825b48a9a0950dd5bd1f264dzip_code:43201latitude:39.984577longitude:-83.018692confirmed:1recovery:8bnnwtqlt2289q2yp81tuge82fty501hcreated_on:2010-09-1614:48:41last_login:2010-10-2715:49:44

  這樣看起來(lái)就更舒服一點(diǎn)。

  5、啟用Tab鍵自動(dòng)完成功能

  重復(fù)輸入表名和字段名無(wú)疑是很乏味的,給mysql客戶(hù)端傳遞一個(gè)--auto-rehash參數(shù),或是在my.ini文件中添加下面的命令來(lái)啟用Tab鍵自動(dòng)完成功能。

  [mysql]auto-rehash

  有哪些能節(jié)省時(shí)間的MySQL命令

  6、改變提示符

  我不止一次想查看或修改被告知表不存在的模式,遇到這種情況我常常會(huì)很恐懼,大多數(shù)時(shí)候我登錯(cuò)數(shù)據(jù)庫(kù),導(dǎo)致錯(cuò)誤地刪除不該刪除的表,通過(guò)修改MySQL客戶(hù)端提示符,讓它顯示當(dāng)前操作的數(shù)據(jù)庫(kù)名字,從而避免誤操作,為了讓mysql客戶(hù)端具備這種交互性,登錄后執(zhí)行下面的命令即可:

  mysql>prompt[d]>[dev_wjgilmore_com]>

  你可能希望永久保持這種效果,簡(jiǎn)單,只需要將下面的命令添加到你的配置文件中即可:

  prompt=[d]>

  當(dāng)然不僅限于提示數(shù)據(jù)庫(kù)名字,還可以顯示當(dāng)前日期和時(shí)間,主機(jī)名和用戶(hù)名,請(qǐng)閱讀MySQL手冊(cè)了解更全面的信息。

  7、使用安全更新預(yù)防災(zāi)難

  前面我也提到,當(dāng)表被意外刪除時(shí)可能會(huì)引起恐懼,我相信不止我一個(gè)人有類(lèi)似的經(jīng)歷,除了不小心執(zhí)行了DROPTABLE外,更讓人崩潰的是忽略WHERE子句的UPDATE命令,例如,假設(shè)你想使用下面的命令修改用戶(hù)的用戶(hù)名:

  mysql>UPDATEuserssetUser='wjgilmore'WHEREUser='wjgilmore-temp';

  但當(dāng)你沖忙地想出去吃飯時(shí),可能忘記敲入后面的WHERE子句

  mysql>UPDATEuserssetUser='wjgilmore';

  一旦你按下回車(chē),后果就很?chē)?yán)重,users表中所有用戶(hù)的用戶(hù)名全部被修改為wjgilmore了,為了避免這種低級(jí),但又會(huì)帶來(lái)災(zāi)難性后果的錯(cuò)誤,請(qǐng)?jiān)谂渲梦募刑砑酉旅娴拿睿?/p>

  safe-updates

  8、使用命令文檔

  許多用戶(hù)都知道m(xù)ysql客戶(hù)端的內(nèi)置文檔,輸入help命令時(shí),它會(huì)顯示一長(zhǎng)串的命令列表。

  mysql>help...ListofallMySQLcommands:Notethatalltextcommandsmustbefirstonlineandendwith';'()Synonymfor`help'.clear(c)Clearthecurrentinputstatement.connect(r)Reconnecttotheserver.Optionalargumentsaredbandhost.delimiter(d)Setstatementdelimiter....

  如果你不知道DESCRIBE命令如何使用,只需要輸入

  mysql>helpdescribe;Name:'DESCRIBE'Description:Syntax:{DESCRIBE|DESC}tbl_name[col_name|wild]DESCRIBEprovidesinformationaboutthecolumnsinatable.ItisashortcutforSHOWCOLUMNSFROM.Thesestatementsalsodisplayinformationforviews.(See[HELPSHOWCOLUMNS].)...

  9、使用Pager

  有時(shí)你可能想查看表的某一行數(shù)據(jù),但在屏幕上往往會(huì)顯示滿(mǎn)屏的數(shù)據(jù),除了使用LIMIT子句外,開(kāi)啟客戶(hù)端pager,設(shè)置你的系統(tǒng)分頁(yè)實(shí)用程序:

  mysql>pagermorePAGERsetto'more'

  如果要禁用pager,執(zhí)行nopager命令即可。

  10、將輸出內(nèi)容轉(zhuǎn)儲(chǔ)到文件

  你可能偶爾需要將SQL執(zhí)行結(jié)果輸出到一個(gè)文該篇文章件,可以使用SELECTINTOOUTFILEcommand命令達(dá)到目的,或直接在mysql客戶(hù)端中啟用tee命令,并制定輸出文件實(shí)現(xiàn)同樣的功能,如:

  mysql>teesales_report.txt

到此,相信大家對(duì)“有哪些可以節(jié)省時(shí)間的MySQL命令”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢(xún),關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI