《Mysql學習mysql模糊查詢like與REGEXP的使用詳細介紹》要點:
本文介紹了Mysql學習mysql模糊查詢like與REGEXP的使用詳細介紹,希望對您有用。如果有疑問,可以聯系我們。
MYSQL數據庫前言
MYSQL數據庫在mysql中實現模糊查詢的有like和regexp.本文通過實例代碼給大家詳細介紹這兩者的使用辦法,下面來跟著小編一起學習學習吧.
MYSQL數據庫like模式
MYSQL數據庫like意思是長得像,有兩個模式:_和%
MYSQL數據庫_表示單個字符,通常用來查詢定長的數據,如查出所有姓王的三個字的人名,假設姓名列名為name,注意“王”后面有兩個_
MYSQL數據庫
select name from 表名 where name like '王__';
MYSQL數據庫%表示0個或多個任意字符,如查出所有姓王的人名
MYSQL數據庫
select name from 表名 where name like '王%';
MYSQL數據庫查出所有包含“華”字的人名
MYSQL數據庫
select name from 表名 where name like '%華%';
MYSQL數據庫正則模式
MYSQL數據庫^,匹配字符串開始位置,還是上面的例子,查詢所有姓王的人名
MYSQL數據庫
select name from 表名 where name regexp '^王';
MYSQL數據庫$,匹配字符串結束位置,如查詢所有姓名末尾是“明”的人名
MYSQL數據庫
select name from 表名 where name regexp '明$';
MYSQL數據庫.,匹配除\n之外的任意單個字符,類似于_,就不寫sql語句了
MYSQL數據庫[……],匹配[]中包含的任何一個字符,abcdef……xyz可以簡寫為[a-z],0123456789簡寫成[0-9],如查詢出w/z/s開頭的的人名
MYSQL數據庫
select name from 表名 where name regexp '^[wzs]';
MYSQL數據庫[^……],匹配不包含在[]的字符,如查詢出除了w/z/s開頭之外的人名
MYSQL數據庫
select name from 表名 where name regexp '^[^wzs]';
MYSQL數據庫a|b|c,匹配a或b或c,如將績效為A-或A或A+的員工查出來,假設績效列名performance
MYSQL數據庫
select performance from 表名 where performance regexp 'A-|A|A+';
MYSQL數據庫*,重復0次或多次,熟悉javascript正則的同學都知道
MYSQL數據庫???? 'str*'可以匹配st/str/strr/strrr……
MYSQL數據庫???? ?,重復0次或1次
MYSQL數據庫???? 'str?'可以匹配st/str
MYSQL數據庫???? +,重復1次或多次
MYSQL數據庫???? 'str+'可以匹配str/strr/strrr/strrrr……
MYSQL數據庫相比javascript里面的正則而言,這里的正則是簡化版的,沒有惰性匹配/貪婪匹配,[]內不支持\w\s\d這種語法,也不支持中文,相對簡單.
MYSQL數據庫需要注意的一點是:這兩種模式不要混著用,like模式是不支持正則表達式的,REGEXP模式也不認識_和%
MYSQL數據庫總結
MYSQL數據庫以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的贊助,如果有疑問大家可以留言交流.
《Mysql學習mysql模糊查詢like與REGEXP的使用詳細介紹》是否對您有啟發,歡迎查看更多與《Mysql學習mysql模糊查詢like與REGEXP的使用詳細介紹》相關教程,學精學透。維易PHP學院為您提供精彩教程。