mysql查詢語句對正規表示式的支援

2021-09-01 13:58:42 字數 2755 閱讀 3385

1.like

匹配模糊查詢

例如:where column like pattern

where name like '張%'   --匹配姓張的

where name not like '%劍%' --匹配名字中含有劍字的或者第乙個字是什麼   第二個字是什麼這些都很是簡單就不多說了。

2.regexp

這個功能很好很強大

直接上例子:

update people set disable = 1 where nick regexp '^[a-z]+$'  ;

---匹配名字中全是字母的(大小寫字母都有,暫時沒搞清為什麼不區分大小寫)

下面摘一段   金風細雨樓

整理自清華大學出版社《mysql入門很簡單》
基本形式
屬性名 regexp 『匹配方式』
正規表示式的模式字元
^ 匹配字元開始的部分
eg1:  從info表name欄位中查詢以l開頭的記錄
select * from info where name regexp '^l';
eg2:  從info表name欄位中查詢以aaa開頭的記錄
select * from info where name regexp '^aaa';
$ 匹配字元結束的部分
eg1:   從info表name欄位中查詢以c結尾的記錄
select * from info where name regexp 'c$';
eg2:   從info表name欄位中查詢以aaa結尾的記錄
select * from info where name regexp 'aaa$';
.  匹配字串中的任意乙個字元,包括回車和換行
eg1:   從info表name欄位中查詢以l開頭y結尾中間有兩個任意字元的記錄
select * from info where name regexp '^l..y$';
[字元集合]匹配字元集合中的任意字元
eg1:   從info表name欄位中查詢包含c、e、o三個字母中任意乙個的記錄
select * from info where name regexp '[ceo]';
eg2:   從info表name欄位中查詢包含數字的記錄
select * from info where name regexp '[0-9]';

eg3:   從info表name欄位中查詢包含數字或a、b、c三個字母中任意乙個的記錄
select * from info where name regexp '[0-9a-c]';
[^字元集合]匹配除了字元集合外的任意字元
eg1:   從info表name欄位中查詢包含a-w字母和數字以外字元的記錄
select * from info where name regexp '[^a-w0-9]';
s1|s2|s3 匹配s1s2s3中的任意乙個
eg1:   從info表name欄位中查詢包含'ic'的記錄
select * from info where name regexp 'ic';
eg2:   從info表name欄位中查詢包含ic、uc、ab三個字串中任意乙個的記錄
select * from info where name regexp 'ic|uc|ab';
*  代表多個該字元前的字元,包括0個或1個
eg1:   從info表name欄位中查詢c之前出現過a的記錄
select * from info where name regexp 'a*c';
+  代表多個該字元前的字元,包括1個
eg1:   從info表name欄位中查詢c之前出現過a的記錄
select * from info where name regexp 'a+c';(注意比較結果!)
字串 字串出現n次
eg1:   從info表name欄位中查詢出現過a3次的記錄
select * from info where name regexp 'a';
字串字串最少出現m次,最多出現n次
eg1:   從info表name欄位中查詢ab出現最少1次最多3次的記錄
select * from info where name regexp 'ab';
%可以表示任意長度的字元(包括0)
-可以表示單個字元

MySql對正規表示式的支援

mysql對正規表示式的支援 mysql中使用 regexp進行正規表示式匹配。符號 描述 匹配字串的開始位置,例如 abc 表示匹配字串是否以abc開頭。匹配字串的結束位置,例如 abc 表示匹配字串是否以abc結尾。匹配任何單個字元,但不可以匹配 n 如果需要匹配包括 n 在內的任何字元,需要使...

MYSQL 正規表示式查詢!

在使用select查詢的過程中,有時會用到正規表示式對結果進行查詢,將學習到的內容進行總結!一 語法結構如下 二 常用匹配方式進行示例說明 首先建立表student,表的結構如下 查詢student表中sname列已 王 開始的姓名 select sname from student where s...

mysql正規表示式 MySQL正規表示式

正規表示式是為複雜搜尋指定模式的強大方式。正規表示式描述了一組字串。最簡單的正規表示式是不含任何特殊字元的正規表示式。例如,正規表示式hello匹配hello。非平凡的正規表示式採用了特殊的特定結構,從而使得它們能夠與1個以上的字串匹配。例如,正規表示式hello word匹配字串hello或字串w...