MySQL過(guò)濾數(shù)據(jù)操作方法梳理
前言
本實(shí)驗(yàn)中所用數(shù)據(jù)庫(kù)創(chuàng)建SQL語(yǔ)句以及插入數(shù)據(jù)到數(shù)據(jù)庫(kù)中的SQL語(yǔ)句鏈接:
鏈接: https://pan.baidu.com/s/1BnFJrLH41iTXlYKhqPninQ?pwd=u3vs
提取碼: u3vs
書(shū)接上回說(shuō)到,排序檢索數(shù)據(jù)
1. where 字句的使用
在 select 語(yǔ)句中,數(shù)據(jù)會(huì)根據(jù) where 字句指定的條件進(jìn)行過(guò)濾,where 字句在from字句( 表名)之后給出。
示例: 選出價(jià)格為 3.49 的商品
select prod_name , prod_price from Products where prod_price = 3.49;
注意: order by 語(yǔ)句與 where 語(yǔ)句同時(shí)出現(xiàn)時(shí),order by 要在where 字句后。(order by 字句的位置一定是 select 語(yǔ)句的最后一條字句)
示例:選出在 3~6 元之間的產(chǎn)品名和價(jià)格,并按價(jià)格排序
select prod_name, prod_price from Products where prod_price between 3 and 6 order by prod_price;
2. where 字句操作符
where 字句具有如下操作符 = 、< 、 > 、!= 、 <= 、 >= 、!< 、 !> 、between 、is null 等
2.1 檢查單個(gè)值
示例:
select prod_name, prod_price from Products where prod_price < 10;
2.2 不匹配檢查
示例:
select vend_id , prod_name from Products where vend_id != 'DLL01';
2.3 范圍值檢查
使用 between 運(yùn)算符可以檢索某個(gè)范圍的值,它需要兩個(gè)值表示一個(gè)范圍。
示例:
select prod_name, prod_price from Products where prod_price between 5 and 10;
2.4 空值檢查
示例:
select prod_name, prod_price from Products where prod_price is null;
3. 擴(kuò)展
3.1 SQL過(guò)濾與應(yīng)用過(guò)濾
數(shù)據(jù)也可以在應(yīng)用層進(jìn)行過(guò)濾,即 select 語(yǔ)句返回所有數(shù)據(jù),客戶端代碼對(duì)返回?cái)?shù)據(jù)進(jìn)行篩選,提取出自己需要的行。但是應(yīng)用過(guò)濾具有以下缺點(diǎn):
- 影響應(yīng)用性能
- 所創(chuàng)建的應(yīng)用不具備伸縮性
- 服務(wù)器通過(guò)網(wǎng)絡(luò)發(fā)送很多多余數(shù)據(jù),浪費(fèi)網(wǎng)絡(luò)帶寬
3.2 引號(hào)的使用
當(dāng) where 字句篩選條件為 字符串時(shí),需要用 引號(hào)限定字符串,用單引號(hào)和雙引號(hào)都可以。而當(dāng)篩選條件為數(shù)值時(shí),不需要用引號(hào)。
3.3 NULL的特殊性
當(dāng)我們通過(guò) where 字句選擇不包含指定值的行時(shí),有時(shí)候我們希望返回 NULL 值的行,但是這不能實(shí)現(xiàn)。NULL 值比較特殊,進(jìn)行匹配過(guò)濾和非匹配過(guò)濾時(shí),都不會(huì)返回 NULL 值結(jié)果
到此這篇關(guān)于MySQL過(guò)濾數(shù)據(jù)操作方法梳理的文章就介紹到這了,更多相關(guān)MySQL過(guò)濾數(shù)據(jù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- MYSQL必知必會(huì)讀書(shū)筆記第七章之?dāng)?shù)據(jù)過(guò)濾
- MySQL通配符與正則表達(dá)式搜過(guò)濾數(shù)據(jù)詳解
- SQL如何使用正則表達(dá)式對(duì)數(shù)據(jù)進(jìn)行過(guò)濾
- 關(guān)于MySQL 大批量插入時(shí)如何過(guò)濾掉重復(fù)數(shù)據(jù)
- Mysql數(shù)據(jù)庫(kù)實(shí)現(xiàn)多字段過(guò)濾的方法
- MYSQL必知必會(huì)讀書(shū)筆記第六章之過(guò)濾數(shù)據(jù)
- MYSQL使用正則表達(dá)式過(guò)濾數(shù)據(jù)
- 一個(gè)過(guò)濾重復(fù)數(shù)據(jù)的 SQL 語(yǔ)句
- SQL實(shí)現(xiàn)數(shù)據(jù)過(guò)濾流程詳解
相關(guān)文章
Navicat數(shù)據(jù)存放位置和備份數(shù)據(jù)庫(kù)路徑設(shè)置方式
這篇文章主要介紹了Navicat數(shù)據(jù)存放位置和備份數(shù)據(jù)庫(kù)路徑設(shè)置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-01-01MySQL skip-character-set-client-handshake導(dǎo)致的一個(gè)字符集問(wèn)題
這篇文章主要介紹了MySQL skip-character-set-client-handshake導(dǎo)致的一個(gè)字符集問(wèn)題,需要的朋友可以參考下2014-07-07MySQL性能參數(shù)詳解之Skip-External-Locking參數(shù)介紹
MySQL的配置文件my.cnf中默認(rèn)存在一行skip-external-locking的參數(shù),即跳過(guò)外部鎖定。根據(jù)MySQL開(kāi)發(fā)網(wǎng)站的官方解釋?zhuān)珽xternal-locking用于多進(jìn)程條件下為MyISAM數(shù)據(jù)表進(jìn)行鎖定2016-05-05MySQL數(shù)據(jù)庫(kù)配置優(yōu)化的方案
我們總是希望MySQL能夠獲得更高的查詢性能,最好的辦法是弄清楚MySQL是如何優(yōu)化和執(zhí)行查詢的。本文講解MySQL在各個(gè)方面的優(yōu)化方向,方便后端開(kāi)發(fā)人員在調(diào)優(yōu)和問(wèn)題排查過(guò)程中找到切入點(diǎn)2023-02-02Mysql日期格式以及內(nèi)置日期函數(shù)用法詳解
MySQL中有多種數(shù)據(jù)類(lèi)型可以用于日期和時(shí)間的表示,這篇文章主要給大家介紹了關(guān)于Mysql日期格式以及內(nèi)置日期函數(shù)用法的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-05-05mysql解析json數(shù)據(jù)組獲取數(shù)據(jù)組所有字段的方法實(shí)例
mysql在5.7開(kāi)始支持json解析了,也可以解析數(shù)組,下面這篇文章主要給大家介紹了關(guān)于mysql解析json數(shù)據(jù)組獲取數(shù)據(jù)組所有字段的相關(guān)資料,文中通過(guò)圖文以及實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-08-08MySql8 WITH RECURSIVE遞歸查詢父子集的方法
這篇文章主要介紹了MySql8 WITH RECURSIVE遞歸查詢父子集的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12淺談mysql數(shù)據(jù)庫(kù)中的using的用法
在用Join進(jìn)行多表聯(lián)合查詢時(shí),我們通常使用On來(lái)建立兩個(gè)表的關(guān)系。其實(shí)還有一個(gè)更方便的關(guān)鍵字,那就是Using。2015-04-04