mysql濾重 重學MYSQL之使用萬用字元過濾資料

2021-10-17 22:32:54 字數 1168 閱讀 6422

使用萬用字元過濾資料,主要是從欄位中匹配符合條件的資料,以彌補傳統方式(>,=,

1.like操作符

like操作符指示資料庫,後跟的搜尋模式利用萬用字元匹配而非簡單的相等匹配進行比較。

萬用字元搜尋只能用於文字字段,非文字資料型別不能使用萬用字元搜尋。

1.1 百分號(%)萬用字元

在搜尋串中,%表示任何字元出現任意次數。如果是access資料庫,萬用字元為*

select name from goods_goods where name like '52度%';

找出所有商品名以「52度」 開頭的商品

select name from goods_goods where name like '%牛肉%';

找出所有包含「牛肉」的商品 。

特別注意:

除了能匹配乙個或多個字元外,%還能匹配0個字元。%代表搜尋模式中給定位置的0個,1個或者多個字元。

許多資料庫都會用空格來填補欄位的內容。如設計欄位時給name欄位設計為50字元,當用掉20個字元後,則其餘30個字元全部使用空格替代。意味著類似『f%y』無法匹配到『ffffyyy...空格』,若希望匹配到,則需要這樣寫『f%y%』

萬用字元%無法匹配到null

2.下劃線(_)萬用字元

(_),下劃線萬用字元只能匹配單個字元,無法統計多個字元。若為access,則需要使用?

select name from goods_goods where name like '_星眼肉牛排**8片裝原味原切生鮮牛肉';

3.方括號()萬用字元

方括號()萬用字元用來指定乙個字符集,它必須匹配指定位置(萬用字元的位置)的乙個字串。(只被微軟的access和sql server)支援。

如找到所有以j和m開頭的聯絡人

select cust_contact from customers where cust_contact like '[jm]%' order_by cust_contact;

使用萬用字元的技巧

使用萬用字元很方便,但是有代價,即萬用字元搜尋一般比前面討論的其他搜尋要耗費更長的處理時間。

不要過度使用萬用字元。如果其他操作符能達到相同的效果,應該使用其他操作符。

在確定需要使用萬用字元時,也盡量不要把它用在搜尋模式的開始處。把萬用字元置於開始處,搜尋起來是最慢的。

仔細注意萬用字元的位置。放錯地方,可能不會返回你想要的資料

小粥重學mysql 2 之DDL 資料庫定義語言

建立 create database 資料庫名稱 create database ssm 建立前判斷是否重複 create database if not exists 資料庫名稱 create database ifnot exists ssm 建立時指定字符集 create database 資...

MySQL學習之MySQL簡介

mysql 資料庫 database 可以想象成乙個資料夾,是儲存 組織資料表的乙個容器。含有欄位的檔案才是資料表,就想象成乙個excel 是某種有著特定型別的結構化清單。從技術上說,是行。事物的一系列典型特徵,一條記錄是進行操作的最小的單位,不可再分割。表記錄對應的標題 描述事物特徵的符號 資料庫...

MySQL基礎之了解MySQL

資料庫是乙個以某種有組織的方式儲存的資料集合。可以將資料庫理解為乙個檔案櫃,此檔案櫃是乙個存放資料的物理位置,不管資料是什麼以及如何組織的 資料庫 database 儲存有組織的資料的容器 通常是乙個檔案或一組檔案 資料庫並不代表通常使用的資料庫軟體 資料庫軟體應該稱為dbms 資料庫管理系統 資料...