MySQL中delimiter關(guān)鍵字的使用解讀
1、delimiter的簡介
delimiter是mysql分隔符,在mysql客戶端中分隔符默認(rèn)是分號(;)。
如果一次輸入的語句較多,并且語句中間有分號,這時需要新指定一個特殊的分隔符。
其實(shí)就是告訴mysql解釋器,該段命令是否已經(jīng)結(jié)束了,mysql是否可以執(zhí)行了。
默認(rèn)情況下,delimiter是分號;。
在命令行客戶端中,如果有一行命令以分號結(jié)束,那么回車后,mysql將會執(zhí)行該命令。
詳細(xì)解釋:
其實(shí)就是告訴mysql解釋器,該段命令是否已經(jīng)結(jié)束了,mysql是否可以執(zhí)行了。
默認(rèn)情況下,delimiter是分號;。
在命令行客戶端中,如果有一行命令以分號結(jié)束, 那么回車后,mysql將會執(zhí)行該命令。
如輸入下面的語句 :
mysql> select * from test_table;
然后回車,那么MySQL將立即執(zhí)行該語句。
2、delimiter的使用
但有時候,不希望MySQL這么做。
在為可能輸入較多的語句,且語句中包含有分號。
這種情況下,就需要事先把delimiter換成其它符號,如//、$$或者;;。
更改結(jié)束標(biāo)志的定義如下:
mysql>delimiter //
示例:
創(chuàng)建一個存儲過程,在創(chuàng)建該存儲過程之前,將delimiter分隔符轉(zhuǎn)換成符號“//”,最后在轉(zhuǎn)換回符號“;”。
-- 將結(jié)束標(biāo)志符更改為// delimiter // -- 創(chuàng)建存儲過程 create procedure proce_user_count(OUT count_num INT) reads sql data begin select count(*) into count_num from tb_user; end // -- 將結(jié)束標(biāo)志符更改回分號 delimiter ;
上面就是,先將分隔符設(shè)置為 //, 直到遇到下一個 //,才整體執(zhí)行語句。
執(zhí)行完后,最后一行, delimiter ; 將mysql的分隔符重新設(shè)置為分號;
如果不修改的話,本次會話中的所有分隔符都以// 為準(zhǔn)。
總結(jié)
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
MySQL為JSON字段創(chuàng)建索引方式(Multi-Valued?Indexes?多值索引)
這篇文章主要介紹了MySQL為JSON字段創(chuàng)建索引方式(Multi-Valued?Indexes?多值索引),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-08-08MYSQL自定義函數(shù)判斷是否正整數(shù)的實(shí)例代碼
這篇文章主要介紹了MYSQL自定義函數(shù)判斷是否正整數(shù) 的實(shí)例代碼,主要是使用正則表達(dá)式來判斷,具體實(shí)例代碼大家跟隨小編一起通過本文學(xué)習(xí)吧2018-11-11MySQL和連接相關(guān)的timeout 的詳細(xì)整理
這篇文章主要介紹了MySQL和連接相關(guān)的timeout 的詳細(xì)整理的相關(guān)資料,本文主要總結(jié)下和連接有關(guān)的timeout,需要的朋友可以參考下2017-08-08使用Canal實(shí)現(xiàn)MySQL主從同步的流程步驟
這篇文章主要介紹了如何使用Canal實(shí)現(xiàn)MySQL主從同步效果,文中通過代碼示例和圖文結(jié)合的方式給大家講解的非常詳細(xì),對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-04-04