MySQL-通配符(簡單的匹配)

之前的搜索都是鑑於我們已經知道數據的情況下進行的,生活中往往有這種情況存在:我是班級的班主任,現在我想知道班級裏所有姓李的學生一共有幾個,分別叫什麼。這樣的話我們怎麼使用搜索條件?很簡單,利用通配符來匹配形如李X或者李XX,所有符合這種形式的都篩選出來就行了。通配符就是用來匹配的。必須使用LIKE操作符來運用通配符,且區分大小寫

%(匹配任意次數的任意字符)

%是使用最多的通配符,它匹配任意次數的任意字符,任意次數的意思是可以是0,也可以是1或1以上。但是要注意,NULL不是0,因此%不能匹配NULL值。

我們來看下面這張表。
這裏寫圖片描述

假如我想要購買一種商品,名字忘了,只記得裏面有個anv3個字母,我想查找所有商品名裏含有anv這個字符的,應該這樣寫

SELECT vend_id, prod_name, prod_price
FROM products
WHERE prod_name LIKE "%anv%";

這裏寫圖片描述

_(只匹配一個字符)

SELECT vend_id, prod_name, prod_price
FROM products
WHERE prod_name LIKE "_ ton anvil";

這裏寫圖片描述

.5 ton anvil就被排除在外了,因爲.5是2個字符

注意:

  1. 通配符要比之前的那些搜索耗時更多,因此除非必要,能不用就不用
  2. 不要把通配符置於搜索的開始處,因爲這搜索起來是最慢的

以上對於簡單的匹配,用%和_就行了。當然,現實生活中遇到的情況會更加複雜,屆時,我們就用正則表達式來解決

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