电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

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

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

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

MySQL 的自定義 就是存儲值的臨時容器,只要與服務(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 語句中使用這個變量:

SELECT * FROM film WHERE created_date <= @last_week;

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

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

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

有些時候,優(yōu)化器會認(rèn)為這個變量是編譯時常量而不進(jìn)行賦值,這會導(dǎo)致期望的行為很怪異。而將自定義變量的賦值放入類似 LEAST函數(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)文章:
主站蜘蛛池模板: 东莞市踏板石餐饮管理有限公司_正宗桂林米粉_正宗桂林米粉加盟_桂林米粉加盟费-东莞市棒子桂林米粉 | 自动钻孔机-全自动数控钻孔机生产厂家-多米(广东)智能装备有限公司 | 无刷电机_直流无刷电机_行星减速机-佛山市藤尺机电设备有限公司 无菌检查集菌仪,微生物限度仪器-苏州长留仪器百科 | 网优资讯-为循环资源、大宗商品、工业服务提供资讯与行情分析的数据服务平台 | 课件导航网_ppt课件_课件模板_课件下载_最新课件资源分享发布平台 | 电镀电源整流器_高频电解电源_单脉双脉冲电源 - 东阳市旭东电子科技 | 压力喷雾干燥机,喷雾干燥设备,柱塞隔膜泵-无锡市闻华干燥设备有限公司 | 盐城网络公司_盐城网站优化_盐城网站建设_盐城市启晨网络科技有限公司 | 艺术涂料_进口艺术涂料_艺术涂料加盟_艺术涂料十大品牌 -英国蒙太奇艺术涂料 | 太阳能发电系统-太阳能逆变器,控制器-河北沐天太阳能科技首页 | 深圳南财多媒体有限公司介绍| 碳纤维复合材料制品生产定制工厂订制厂家-凯夫拉凯芙拉碳纤维手机壳套-碳纤维雪茄盒外壳套-深圳市润大世纪新材料科技有限公司 | 超声波焊接机,振动摩擦焊接机,激光塑料焊接机,超声波焊接模具工装-德召尼克(常州)焊接科技有限公司 | 磁力抛光机_磁力研磨机_磁力去毛刺机_精密五金零件抛光设备厂家-冠古科技 | 金刚网,金刚网窗纱,不锈钢网,金刚网厂家- 河北萨邦丝网制品有限公司 | 超声波清洗机_超声波清洗机设备_超声波清洗机厂家_鼎泰恒胜 | 余姚生活网_余姚论坛_余姚市综合门户网站 | 顺景erp系统_erp软件_erp软件系统_企业erp管理系统-广东顺景软件科技有限公司 | 招商帮-一站式网络营销服务|搜索营销推广|信息流推广|短视视频营销推广|互联网整合营销|网络推广代运营|招商帮企业招商好帮手 | 档案密集架,移动密集架,手摇式密集架,吉林档案密集架-厂家直销★价格公道★质量保证 | 伺服电机维修、驱动器维修「安川|三菱|松下」伺服维修公司-深圳华创益 | 双工位钻铣攻牙机-转换工作台钻攻中心-钻铣攻牙机一体机-浙江利硕自动化设备有限公司 | 转子泵_凸轮泵_凸轮转子泵厂家-青岛罗德通用机械设备有限公司 | 【孔氏陶粒】建筑回填陶粒-南京/合肥/武汉/郑州/重庆/成都/杭州陶粒厂家 | 硫化罐_蒸汽硫化罐_大型硫化罐-山东鑫泰鑫智能装备有限公司 | 工业风机_环保空调_冷风机_工厂车间厂房通风降温设备旺成服务平台 | Dataforth隔离信号调理模块-信号放大模块-加速度振动传感器-北京康泰电子有限公司 | 科昊仪器超纯水机系统-可成气相液氮罐-美菱超低温冰箱-西安昊兴生物科技有限公司 | 云南外加剂,云南速凝剂,云南外加剂代加工-普洱澜湄新材料科技有限公司 | 留学生辅导网-在线课程论文辅导-留学生挂科申诉机构 | 生物颗粒燃烧机-生物质燃烧机-热风炉-生物颗粒蒸汽发生器-丽水市久凯能源设备有限公司 | 广东燎了网络科技有限公司官网-网站建设-珠海网络推广-高端营销型外贸网站建设-珠海专业h5建站公司「了了网」 | 上海租奔驰_上海租商务车_上海租车网-矢昂汽车服务公司 | 网站建设-临朐爱采购-抖音运营-山东兆通网络科技 | EPK超声波测厚仪,德国EPK测厚仪维修-上海树信仪器仪表有限公司 | 河南档案架,档案密集架,手动密集架,河南密集架批发/报价 | 成都治疗尖锐湿疣比较好的医院-成都治疗尖锐湿疣那家医院好-成都西南皮肤病医院 | 中图网(原中国图书网):网上书店,尾货特色书店,30万种特价书低至2折! | RS系列电阻器,RK_RJ启动调整电阻器,RQ_RZ电阻器-上海永上电器有限公司 | 浙江华锤电器有限公司_地磅称重设备_防作弊地磅_浙江地磅售后维修_无人值守扫码过磅系统_浙江源头地磅厂家_浙江工厂直营地磅 | ETFE膜结构_PTFE膜结构_空间钢结构_膜结构_张拉膜_浙江萬豪空间结构集团有限公司 |