SELECT查詢的應用_PHP教程

來源:互聯網
上載者:User
比如我們要從很多文章的標題中找到所有包含"MySQL"這個字眼的文章。這就應該在 WHERE 子句中用到 "LIKE",就是模糊查詢。
 
  首先交待一下SQL語言中的統配符,統配符就是用一個字元統一匹配任何字元,SQL中,一個字元"_"匹配單個的任何字元;一個字元"%"匹配任何零個到多個字元。舉例來說,"A_" 可以匹配諸如 "AA"、"AB"、"A2"、"A$"……等等;而 "A%" 可以匹配 "ABCD"、"A"、"AG$Bng0"、"An apple is just an apple."……等等。
 
  怎麼用呢?還是舉個實際的例子:工廠倉庫裡的東東,很多、很雜,要分成幾大類來管理:比如A類代表機配件,B類代表工具,C類代表封裝材料……等等,每一類下面的東東再分別編號,如"A0001"、"A1065"、"B1014"等。在管理這個資料庫的時候,編號作為一個欄位,這個欄位不僅作為該物品的代號,同時也表明了它的類別。當你要查詢所有的工具時,可以這樣:
SELECT * FROM goods WHERE code LIKE 'B%' ORDER BY code'
這樣就是查詢code這個欄位(就是編號)為字母B打頭的所有記錄。注意這裡'B%'表示字母B是出現在欄位的開頭,與下一個例子不同:尋找文章標題中含有"MySQL"這個字眼的所有文章,因為要尋找的目標"MySQL"不一定出現在文章標題的什麼位置上,所以應該:
SELECT * FROM articles WHERE title LIKE '%MySQL%'
'%MySQL%'的意思是"MySQL"這個字眼出現在標題中,它的前面可能有文字,後面也可能有文字。
 
  既然查"MySQL"可以,查別的字眼未嘗不可以。可以讓瀏覽者自己輸入他要搜尋的關鍵字,就是這樣:



...
$query="select * from article where title like '%$key%'";
$result=$mysql_query($query,$db);
...
?>
  注意在使用模糊查詢時,有一種情況應該小心,就是當一個欄位是類似 '2,13,25,33' 這樣的值時,若要查詢它其中是否包含'2'這一項,就不能簡單的用 '%2%' 來查詢。因為如果這樣,一個這樣的值也會被查詢到:'1,6,21,27'。這並不是我們所希望的。所以在處理這樣的問題時,應該將該欄位存為 '.2.13.25.33.' 的形式。這樣當需要查詢包含'2'這一項的記錄,就可以放心的用 '%.2.%' 了。
 

  時間倉促,草草成稿;如有不確,務請指正。

http://www.bkjia.com/PHPjc/631172.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/631172.htmlTechArticle比如我們要從很多文章的標題中找到所有包含"MySQL"這個字眼的文章。這就應該在 WHERE 子句中用到 "LIKE",就是模糊查詢。 首先交待一下SQL語...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.