數據庫(十一)-單表查詢(2)模糊查詢

模糊查詢

上篇文章我們簡單介紹了單表查詢中的條件查詢,裏面介紹了一些精確查詢和範圍查詢的基本方法,但當我們想要查詢一些具有模糊條件的數據時,如:我們要在一張學生表中查詢所有姓張的學生,或者我們想要查詢含有某個字母或數字的數據時,使用上篇文章中介紹的幾種方法就沒有辦法了,所以爲了解決這個問題,今天我們來介紹一下使用LIKE關鍵字進行模糊查詢。

在介紹LIKE關鍵字之前,先來了解兩個比較常用的通配符%_(後面會介紹MySQL提供的正則模式的模式匹配,先介紹兩個最常用的):

“%” 代表的是任意長度的字符串,例如:n%就代表以n開頭的任意長度的字符串;

“_” 代表的是任意單個字符,就是有幾個_就代表有多少個字符,例如n__就代表以n開頭的長度爲3的字符串;

總體來說,這兩個的區別在於匹配的字符串的長度,%匹配多個字符,而_僅匹配一個字符。

下面我們介紹幾個使用模糊查詢的例子:

1.查詢姓名由5個字母構成的學生記錄

SELECT * 
FROM stu
WHERE sname LIKE '_____';

2.查詢姓名由5個字母構成,並且第5個字母爲“a”的學生記錄

SELECT * 
FROM stu
WHERE sname LIKE '____a';

3.查詢姓名以“張”開頭的學生記錄

SELECT * 
FROM stu
WHERE sname LIKE '張%';

4.查詢姓名中第2個字爲“一”的學生記錄

SELECT * 
FROM stu
WHERE sname LIKE '_一%';

5.查詢姓名中包含“一”字的學生記錄

SELECT * 
FROM stu
WHERE sname LIKE '%一%';
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章