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