Mysql 模糊查詢和正則表達式實例詳解
一、模糊查詢
1.1 LIKE運算符
在MySQL中,可以使用LIKE運算符進行模糊查詢。LIKE運算符用于匹配字符串模式,其中可以使用通配符來表示任意字符或字符序列。
示例代碼
SELECT * FROM table_name WHERE column_name LIKE 'pattern';
table_name
:要查詢的表名column_name
:要查詢的列名pattern
:要匹配的模式
通配符
%
:表示任意字符序列(包括空字符)_
:表示任意單個字符
示例
SELECT * FROM users WHERE name LIKE '%John%';
以上示例將返回所有名字中包含"John"的用戶。
1.2 NOT LIKE運算符
NOT LIKE運算符用于排除符合指定模式的結(jié)果。
示例代碼
SELECT * FROM table_name WHERE column_name NOT LIKE 'pattern';
示例
SELECT * FROM users WHERE name NOT LIKE '%John%';
以上示例將返回所有名字中不包含"John"的用戶。
1.3 REGEXP運算符
REGEXP運算符用于基于正則表達式進行模糊查詢。正則表達式是一種強大的模式匹配工具,可以用于更復雜的模式匹配。
示例代碼
SELECT * FROM users WHERE name NOT LIKE '%John%';
示例
SELECT * FROM users WHERE name REGEXP '[Jj]ohn';
以上示例將返回所有名字中包含以"J"或"j"開頭,后面跟著"ohn"的用戶。
二、正則表達式
2.1 正則表達式基礎
正則表達式是一種用于匹配字符串模式的工具。它使用一種特定的語法來描述要匹配的模式。
.
:匹配任意字符^
:匹配字符串的開始位置$
:匹配字符串的結(jié)束位置[]
:匹配指定字符集中的任意一個字符[^]
:匹配任意不在指定字符集中的字符*
:匹配前面的元素零次或多次+
:匹配前面的元素一次或多次?
:匹配前面的元素零次或一次|
:匹配兩個或多個表達式中的任意一個
SELECT * FROM table_name WHERE column_name REGEXP 'pattern';
2.2 REGEXP運算符
在MySQL中,可以使用REGEXP運算符基于正則表達式進行模糊查詢。
示例代碼
SELECT * FROM table_name WHERE column_name REGEXP 'pattern';
示例
SELECT * FROM users WHERE name REGEXP '^[A-Za-z]+$';
以上示例將返回所有名字只包含字母的用戶。
2.3 RLIKE運算符
RLIKE運算符是REGEXP運算符的同義詞,可以使用RLIKE代替REGEXP進行正則表達式匹配。
示例代碼
SELECT * FROM table_name WHERE column_name RLIKE 'pattern';
示例
SELECT * FROM users WHERE name RLIKE '^[A-Za-z]+$';
以上示例將返回所有名字只包含字母的用戶。
參考資料
到此這篇關(guān)于Mysql 模糊查詢和正則表達式的文章就介紹到這了,更多相關(guān)Mysql 模糊查詢正則表達式內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Scott?數(shù)據(jù)?映射?MySQL代碼實現(xiàn)分享
這篇文章主要介紹了Scott?數(shù)據(jù)?映射?MySQL,文章圍繞Scott?數(shù)據(jù)?映射?MySQL的相關(guān)代碼分享給大家,具有一定的參考價值,需要的小伙伴可以參考一下,希望對你的學習有所幫助2022-02-02MySQL數(shù)據(jù)庫安裝和Navicat for MySQL配合使用教程
MySQL是一個關(guān)系型數(shù)據(jù)庫管理系統(tǒng),由瑞典MySQL AB 公司開發(fā),目前屬于 Oracle 旗下公司。這篇文章主要介紹了MySQL數(shù)據(jù)庫安裝和Navicat for MySQL配合使用,需要的朋友可以參考下2019-06-06Mysql計算字段長度函數(shù)之CHAR_LENGTH函數(shù)
mysql中計算字符串長度有兩個函數(shù)分別為char_length和length,char_length函數(shù)可以計算unicode字符,下面這篇文章主要給大家介紹了關(guān)于Mysql計算字段長度函數(shù)之CHAR_LENGTH函數(shù)的相關(guān)資料,需要的朋友可以參考下2023-05-05mysql數(shù)據(jù)庫連接失敗常見問題小結(jié)
你有沒有碰到過mysql數(shù)據(jù)庫連接不上的問題呢?很多的小伙伴表示,經(jīng)常會時不時的出現(xiàn)這些問題,下面這篇文章主要給大家介紹了關(guān)于mysql數(shù)據(jù)庫連接失敗常見問題的相關(guān)資料,需要的朋友可以參考下2023-06-06