使用MySQL中的正則表達式查詢數據(模糊查詢)——MySQL 5.7數據庫

使用正則表達式進行模糊查詢

正則表達式通常用來檢索或替換符合某個模式的文本內容,根據指定的匹配模式匹配文本中符合要求的特殊字符串。例如從一個文本文件中提取電話號碼,查找一篇文章中重複的單詞或者替換用戶輸入的某些詞語等。正則表達式強大而且靈活,可以應用於非常複雜的查詢。

正則表達式的查詢能力比通配字符的查詢能力更強大,而且更加的靈活。正則表達式可以應用於非常複雜查詢。MySQL中,使用regexp關鍵字來匹配查詢正則表達式。

😀何雲輝 CSDN

1.正則表達式的基本語法格式如下:

  • where 字段名 regexp ‘操作符’
  • MySQL中使用regexp操作符指定正則表達式的字符匹配模式,regexp操作符 中常用字符匹配選項如表所示。
(正則表達式中常用的字符匹配選項)

在這裏插入圖片描述

2.查詢以特定字符或字符串開頭的記錄。使用字符“^”可以匹配以特定字符或字符串開頭的記錄。

查詢student表中姓“趙”的學生的部分信息。
mysql> select studentno,sname,birthdate, phone 
	-> from student
	-> where sname  regexp '^趙';

在這裏插入圖片描述

3.查詢以特定字符或字符串結尾的記錄。使用字符“$”可以匹配以特定字符或字符串結尾的記錄

查詢student表中學生電話號碼尾數爲5的學生部分信息。
mysql> select  studentno, sname, phone, Email
	-> from student
	-> where phone regexp '5$';

在這裏插入圖片描述

4.用符號“.”來替代字符串中的任意一個字符。用正則表達式來查詢時,可以用“.”來替代字符串中的任意一個字符

要實現查詢學生姓名sname字段中以“趙”開頭,以“江”結束的,中間包含兩個字符的學生信息,可以通過正則表達式查詢來實現,其中正則表達式中,^表示字符串的開始位置,$表示字符串的結束位置,.表示除“\n”以外的任何單個字符(此例中漢字按2個字符計算)。
mysql> select studentno, sname, phone 
	-> from student 
	-> where  sname regexp '^趙..江$';

在這裏插入圖片描述

5.匹配指定字符串。

  正則表達式可以匹配字符串。當表中的記錄包含這個字符串時,就可以將該記錄查詢出來。如果指定多個字符串時,需要用符號“|”隔開。只要匹配這些字符串中的任意一個即可。

查詢學生電話號碼出現131或132數字的學生信息。
mysql> select  studentno, sname, phone, Email
    ->  from student
    ->  where phone regexp '131|132';

在這裏插入圖片描述


😀何雲輝 CSDN
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章