MySql學習筆記(一) —— 關鍵字的使用


1.distinct關鍵字

作用:檢索出有不同值的列,比如一個商品表中存在供應商vend_id,一個供應商會對應很多商品,我們要查找有多少供應商,就可以用到該關鍵字去重。

select distinct vend_id from products;

2.limit關鍵字

作用:返回表中指定行范圍的數據

select prod_name from products limit 5; --返回不多於5行的數據

select prod_name from products limit 5,5; --返回從5行開始的5行。

關鍵字limit在分頁中應用較多,假設一個業務場景,每頁顯示10條數據,根據當前頁數顯示該頁數據,pc表示當前頁,則表中起始行 ts = pc*10-10+1

第一種方式:

select * from t_book limit ts,10

這樣當數據量很大時候,后面頁的數據需要跨越很多數據,我們可以采取第二中方式進行優化

第二種方式:

select * from t_book where book_id>(select t_id from t_book order by limit ts,1) limit 10

 3.order by關鍵字

作用:對所查詢的列進行降序排列

select prod_name from products order by prod_name;

也可以對多列進行排序

select * from products order by prod_price,prod_name;   --這樣只有當prod_price有相同的值時候,才會按prod_name排序

也可以在字段后加上DESC關鍵字進行指定降序排序

select prod_name from products order by prod_name desc;

order by 和 limit 組合可以查詢最大值

select prod_price from products order by prod_price DESC limit 1;

order by 和 where 語句連着使用時要放在where后面。

4.and 和 or 結合使用

應用場景:返回商品價格大於10元,且由1002或1003生產的產品

select * from products where (vend_id=1002 or vend_id=1003) and prod_price>=10;

5.IN 和 NOT IN

用 IN 可以代替 or

應用場景:假設1002和1003生產的商品

select * from products where vend_id = 1002 or vend_id = 1003; -- or方法

select * from products where vend_id in (1002,1003); -- in方法
select * from products where vend_id not in (1002,1003); -- not in方法查詢不是1002 和 1003 生產的商品

6. like 關鍵字

作用:進行一些模糊匹配,通常和一些通配符進行搭配查找

select * from products where prod_name like 'jet%' --匹配以jet開頭的字符

select * from products where prod_name like '%dcb%' --匹配任何位置包含dcb字符商品信息

select * from products where prod_name like '_jet' -- _匹配一個字符

 

select * from products where prod_name like '[jdk]%';  --匹配以 j , d , k ,開頭的商品

select * from products where prod_name like '[!jdk]%';  --匹配不以 j , d , k ,開頭的商品

7.update 關鍵字

作用:根據一些條件更新數據庫中的值

update products set prod_price = 100 where prod_name = jet;  --修改商品名稱為jet商品價格

如果不加判斷會修改所有商品價格

8.union 關鍵字

UNION 操作符用於合並兩個或多個 SELECT 語句的結果集。

請注意,UNION 內部的每個 SELECT 語句必須擁有相同數量的列。列也必須擁有相似的數據類型。同時,每個 SELECT 語句中的列的順序必須相同。

SELECT City FROM Customers
UNION
SELECT City FROM Suppliers
ORDER BY City;

UNION 不能用於列出兩個表中所有的城市。如果一些客戶和供應商來自同一個城市,每個城市只會列出一次。UNION 只會選取不同的值。請使用 UNION ALL 來選取重復的值!

SELECT City FROM Customers
UNION ALL
SELECT City FROM Suppliers
ORDER BY City;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM