亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術(shù)文章
文章詳情頁

MySQL 自定義變量的概念及特點(diǎn)

瀏覽:9日期:2023-10-03 10:13:34

MySQL 的自定義 就是存儲(chǔ)值的臨時(shí)容器,只要與服務(wù)端的連接是活躍的,容器中的值可以保存和使用??梢酝ㄟ^簡單的 SET 或 SELECT語句 設(shè)置自定義變量,如下所示:

SET @one := 1;SET @min_actor := (SELECT MIN(actor_id) FROM sakila.actor);SET @last_week := CURRENT_DATE-INTERNAL 1 WEEK;

定義好變量后,就可以在 SQL 語句中使用這個(gè)變量:

SELECT * FROM film WHERE created_date <= @last_week;

雖然 MySQL 自定義變量很強(qiáng)大,但是也需要知道自定義變量本身也是有缺陷的,這些缺陷包括:

自定義變量會(huì)禁用查詢緩存。 不可以用做替代語義上的標(biāo)識(shí)符,例如表名稱或列名稱,或者是在 LIMIT 子句中使用。 自定義變量是基于單次連接的,因此不可以跨連接使用。 如果使用連接池或持久連接,自定義變量會(huì)導(dǎo)致你的代碼與交互隔離,這出現(xiàn)的時(shí)候可能是代碼的 bug 或連接池的 bug,但是是可能發(fā)生的。 在 MySQL 5.0以前的版本中是大小寫敏感的,因此要注意(在 MySQL 5.0以后已經(jīng)不區(qū)分大小寫了)。 無法顯示地指定變量類型,而實(shí)際變量的類型依賴于不確定的類型推斷,并且不同的版本會(huì)有差異,最好的方式是在一開始定義的時(shí)候指定類型,比如使用0設(shè)定整數(shù)變量,0.0設(shè)定浮點(diǎn)數(shù)變量,’’用于字符串。但是如果后面指定了新的值,類型會(huì)跟隨新的值改變,這是因?yàn)?MySQL 的自定義變量的類型是動(dòng)態(tài)的。 優(yōu)化器在某些情況下有可能會(huì)將自定義變量優(yōu)化掉,導(dǎo)致無法按照期望的方式進(jìn)行查詢。 賦值的次序,甚至包括賦值的時(shí)間都是不確定的,這取決于優(yōu)化器選擇的查詢計(jì)劃。因此,最終的結(jié)果可能讓人困惑。 賦值操作符的優(yōu)先級低于任何其他操作符,因此必須顯示地使用括號。 未定義變量不會(huì)報(bào)錯(cuò),這很容導(dǎo)致錯(cuò)誤出現(xiàn)。

自定義變量可以用在所有類型的語句中,而不僅僅是 SELECT 語句。事實(shí)上,這是自定義變量的一個(gè)最大的優(yōu)勢。例如,我們可以重寫復(fù)雜的查詢,例如利用子查詢進(jìn)行排序的計(jì)算,或者是完成一次低代價(jià)的UPDATE 語句。

有些時(shí)候,優(yōu)化器會(huì)認(rèn)為這個(gè)變量是編譯時(shí)常量而不進(jìn)行賦值,這會(huì)導(dǎo)致期望的行為很怪異。而將自定義變量的賦值放入類似 LEAST函數(shù)中通常會(huì)避免這個(gè)問題。另一個(gè)方式是在使用之前檢查一下自定義變量是否有值。有時(shí)候你想這樣做,但有些時(shí)候你不想這么做。

通過一些小的實(shí)驗(yàn),我們可以使用自定義變量做很多有趣的事情,例如:

計(jì)算總量和平均值; 對于分組查詢模擬 FIRST 和 LAST 函數(shù); 對于很大的數(shù)做數(shù)學(xué)運(yùn)算; 將一整張表轉(zhuǎn)換成 MD5哈希值; 過濾掉0值附近但超過設(shè)定邊界的樣本值; 模擬讀寫指針位置; 將變量嵌入到 WHERE 條件并在 SHOW 語句中顯示。

自定義變量在某些應(yīng)用場合很有用,例如統(tǒng)計(jì)出現(xiàn)次數(shù)的排序值,計(jì)算更新和插入相同數(shù)據(jù)的次數(shù),以及延遲的聯(lián)合查詢,下一篇文章將介紹具體的用法。

以上就是MySQL 的自定義變量的概念及特點(diǎn)的詳細(xì)內(nèi)容,更多關(guān)于MySQL 自定義變量的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: MySQL 數(shù)據(jù)庫
相關(guān)文章:
主站蜘蛛池模板: 在线免费观看黄色片 | 一级毛片不收费 | 一级片国产 | 免费在线观看中文字幕 | 欧美一级在线毛片免费观看 | 中文国产成人精品少久久 | 一级做α爱过程免费视频 | 国产精品福利无圣光在线一区 | 色欲影院| 成年人网站在线观看免费 | 1024国产基地 | 妞干网在线免费观看 | 黄色网页免费观看 | 久久综合图区亚洲综合图区 | 国产乱理伦片a级在线观看 国产乱理伦片在线观看 | 成人综合在线视频免费观看 | 国产精品免费久久久久影院 | 久久se精品一区精品二区 | 蛇女欲潮三级在线看 | 99热久久这里只精品国产www | 欧美不卡一区二区三区免 | 18美女福利视频网站免费观看 | 一区二区视频网 | 91精品免费观看老司机 | 欧美日韩91| 亚洲综合精品一二三区在线 | 国内91视频| 看片视频在线观看 | 日本黄色小视频在线观看 | 一级骚片超级骚在线观看 | 精品在线一区二区 | 在线观看亚洲一区 | 97福利在线| 欧美色频 | 亚洲精品国产国语 | 日韩系列在线 | 久久久久久91精品色婷婷 | 性网站在线观看 | 真人午夜a一级毛片 | 麻豆国产精品视频 | 国产精品呦呦 |