国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【業(yè)務功能篇07】Mysql 模糊查詢

這篇具有很好參考價值的文章主要介紹了【業(yè)務功能篇07】Mysql 模糊查詢。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

業(yè)務場景:我們對不同的業(yè)務邏輯進行數(shù)據(jù)處理時,多數(shù)是離不開需要模糊匹配的時候,比如要獲取該表某個字段中,含有某個具體的字符內(nèi)容,過濾出業(yè)務想要的數(shù)據(jù)。

?這里介紹有這么幾種:

一、MySQL通配符模糊查詢(%,_)

?通配符的分類

  • "%" 百分號通配符: 表示任何字符出現(xiàn)任意次數(shù) (可以是0次)。
  • "_" 下劃線通配符:表示只能匹配單個字符,不能多也不能少,就是一個字符。當然,也可以like "陳____",數(shù)量不限。
  • like操作符:LIKE作用是指示mysql后面的搜索模式是利用通配符而不是直接相等匹配進行比較;但如果like后面沒出現(xiàn)通配符,則在SQL執(zhí)行優(yōu)化時將 like 默認為 “=”執(zhí)行

注意: 如果在使用like操作符時,后面沒有使用通用匹配符(%或_),那么效果是和“=”一致的。在SQL執(zhí)行優(yōu)化時查詢優(yōu)化器將 like 默認為 “=”執(zhí)行,SELECT * FROM movies WHERE movie_name like 'A';只能匹配movie_name=“A”的結果,而不能匹配像“AA”或“AB”這樣的結果.
?

?

舉例:

--?模糊匹配含有“智能”字的數(shù)據(jù)

SELECT * from app where PROF like '%智能%';

-- 模糊匹配以“智能”字結尾的數(shù)據(jù),? 開頭則是 '智能%'

SELECT * from app where PROF like '%智能';

-- 查詢以“會”為結尾的,長度為三個字的數(shù)據(jù),如:"生日會", 兩個下劃線

SELECT * from dF where a like '__會';

二、MySQL內(nèi)置函數(shù)檢索(locate,position,instr)?

話接上文,通過內(nèi)置函數(shù)locate,position,instr進行匹配,相當于Java中的str.contains()方法,返回的是匹配內(nèi)容在字符串中的位置,效率和可用性上都優(yōu)于通配符匹配。

SELECT * from appF where INSTR(`app`, '%') > 0;
 
SELECT * from appF where LOCATE('%', `app`) > 0;
 
SELECT * from appF where POSITION( '%' IN `app`) > 0;

三個內(nèi)置函數(shù)很類似,這里就介紹 instr

返回字符串str中第一次出現(xiàn)子字符串substr的位置。INSTR()與LOCATE()的雙參數(shù)形式相同,只是參數(shù)的順序相反。

實例:

-- 用INSTR關鍵字進行模糊匹配,功能跟like一樣 ,等同于:"like '%智能%'"

SELECT * from app where INSTR(`PROF`, '智能');


?

三、MySQL基于regexp的正則匹配查詢

REGEXP 不支持通配符"%、_",支持正則匹配規(guī)則

mysql 模糊搜索,Mysql&Mybatis高效語法,業(yè)務場景實例問題,mysql,數(shù)據(jù)庫,java

-- REGEXP '智能' 等同于 like '%智能%'

SELECT * from app where appName REGEXP '智能';
-- 等同于
SELECT * from app where appName like '%智能%';

-- 支持 "|" ‘或’符號,匹配包含“中國”或“互聯(lián)網(wǎng)”或“大學”的數(shù)據(jù),支持疊加多個

SELECT * from app where appName REGEXP '中國|互聯(lián)網(wǎng)|大學';

?更多技巧細節(jié),參考:https://blog.csdn.net/qq_46940224/article/details/125031647文章來源地址http://www.zghlxwxcb.cn/news/detail-737905.html

到了這里,關于【業(yè)務功能篇07】Mysql 模糊查詢的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • MySQL使用全文檢索實現(xiàn)模糊搜索

    創(chuàng)建全文檢索有兩種方式 方式一: 方法二: in boolean mode(布爾模式): 可以為檢索的字符串增加操作符,且不會像自然語言一樣自動拆詞查詢并集(除非手動空格隔開) 全文檢索模糊查詢使用全文索引來提高搜索效率,可以快速查詢大數(shù)據(jù)量中的模糊匹配結果。而LIKE模糊查

    2024年02月15日
    瀏覽(19)
  • 個人學習記錄——MySQL的模糊查詢

    模糊查詢實質(zhì)上是用利用數(shù)據(jù)庫SQL語言的模糊搜索,如‘like’,通配符‘%’,‘_’。 但我后來了解到還有‘[]’和\\\'[^]\\\'的用法,特此記錄 1 “%” 表示0個或多個字符 Select * from 表名 where 列名 like \\\'%\\\'?//查詢出全部數(shù)據(jù)? Select * from 表名 where 列名 like \\\'x\\\'?//完全匹配 Select * fro

    2024年02月09日
    瀏覽(22)
  • mysql 國密加密字段排序和模糊搜索

    雙寫 加密字段和明文分別存到兩個字段中 , 查詢只對明文進行操作 .? (備注: 這種只是應對檢查或者設計的方式 , 對于程序沒有實際意義) 使用函數(shù) 利用mysql已有加解密的函數(shù) , 在排序和模糊搜索之前解密數(shù)據(jù) , 再進行排序或者模糊搜索 . (備注: 查詢速度受到很大影響 , 不能

    2024年02月05日
    瀏覽(21)
  • mysql 模糊查詢like優(yōu)化方案(親測)

    本文的測試是基于 740w條 測試數(shù)據(jù)進行的,只討論like模糊查詢的優(yōu)化方案。其他SQL優(yōu)化可參考: SQL優(yōu)化的幾種方式 查詢開頭是“今天不開心”的聊天記錄,是可以走索引的。 查詢包含“今天不開心”的聊天記錄,是不能走索引的。 咱們主要優(yōu)化的是第二種情況,我本人測

    2023年04月08日
    瀏覽(23)
  • Mysql 字段模糊查詢,在頁面中輸入%查詢?nèi)康膯栴}處理

    一、背景 ??測試小妹閑著無聊,針對某一個查詢項進行“ % ”測試,正常查詢效果應該是返回空數(shù)據(jù),但是卻查出所有的數(shù)據(jù)。 二、解決方案 1、在使用mybatis的模糊查詢時,有兩個特殊符號需要注意: %(百分號):相當于任意多個字符; _(下劃線):相當于任意的單個字符;

    2024年02月01日
    瀏覽(22)
  • 軟件測試|MySQL LIKE:深入了解模糊查詢

    軟件測試|MySQL LIKE:深入了解模糊查詢

    簡介 在數(shù)據(jù)庫查詢中,模糊查詢是一種強大的技術,可以用來搜索與指定模式匹配的數(shù)據(jù)。MySQL數(shù)據(jù)庫提供了一個靈活而強大的LIKE操作符,使得模糊查詢變得簡單和高效。本文將詳細介紹MySQL中的LIKE操作符以及它的用法,并通過示例演示其功能。 基本語法 MySQL中的LIKE操作符

    2024年02月02日
    瀏覽(27)
  • 關于mysql數(shù)據(jù)庫模糊查詢的潛在問題

    關于mysql數(shù)據(jù)庫模糊查詢的潛在問題

    初學者在學習的時候經(jīng)常會寫下面的模糊查詢語句: 有兩方面的問題,第一,我們從結果分析入手: 我們想看到的是什么,我們想看到的是蔡徐坤這個字符串能出現(xiàn)在我搜索的第一個位置,而不是我明明搜的蔡徐坤,蔡徐坤卻出現(xiàn)在了最后面,前面一堆不太相干的。而之所

    2024年02月13日
    瀏覽(17)
  • Mysql 查詢以逗號(,)分割的字符串,精確查找和模糊查詢

    Mysql 查詢以逗號(,)分割的字符串,精確查找和模糊查詢

    1、測試數(shù)據(jù)庫表結構 2、測試數(shù)據(jù) 數(shù)據(jù)庫有一個字段ancestors存儲著部門父級id,每,用逗號分隔符隔開。比如:ancestors:“0,1,2,3,4,5,6,7,8,11,12,9,10,13\\\"”,我需要查詢ancestors字段中包含“2”的信息 結果: 結果: 使用 FIND_IN_SET 函數(shù)能夠準確查出 ancestors字段中含有 2 這項有哪些

    2024年02月11日
    瀏覽(23)
  • MySQL中如何高效的實現(xiàn)模糊查詢(附30條優(yōu)化建議)

    在使用msyql進行模糊查詢的時候,很自然的會用到like語句,通常情況下,在數(shù)據(jù)量小的時候,不容易看出查詢的效率,但在數(shù)據(jù)量達到百萬級,千萬級的時候,查詢的效率就很容易顯現(xiàn)出來。這個時候查詢的效率就顯得很重要! 一般情況下like模糊查詢的寫法為(field已建立索

    2024年01月22日
    瀏覽(32)
  • mysql 的增刪改查以及模糊查詢、字符集語句的使用

    mysql 的增刪改查以及模糊查詢、字符集語句的使用

    net? start mysql81 mysql -uroot -p show databases; show databases like \\\'%schema\\\'; create databases mydb; create databases if not exists mydb; show warnings; drop database mydb; drop database if not exists mydb; select database(); use mydb(); select database(); select version(); select user(); create database mydb2 character gbk collate gbk_chinese_ci show d

    2024年02月10日
    瀏覽(17)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包