日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

MySQL——MySQL的数据查询功能

發(fā)布時(shí)間:2025/4/5 数据库 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MySQL——MySQL的数据查询功能 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

MySQL的數(shù)據(jù)查詢功能

SQL查詢的7個(gè)關(guān)鍵詞——以鏈家二手房數(shù)據(jù)為例

在實(shí)際工作中,使用最多的就是數(shù)據(jù)庫(kù)的查詢功能了。在數(shù)據(jù)查詢過(guò)程中,通常會(huì)用到以下7個(gè)核心關(guān)鍵詞:

SELECT <select_list> FROM <table_list> [WHERE <where_condition>] [GROUP BY <group_by_list>] [HAVING <having_condition>] [ORDER BY <order_by_list> ASC|DESC] [LIMIT <limit_number>]

其中,SELECT和FROM兩個(gè)關(guān)鍵詞是必選項(xiàng),也就是說(shuō),只要是數(shù)據(jù)查詢功能,都需要使用這兩個(gè)關(guān)鍵詞,其他的5個(gè)關(guān)鍵詞,可以根據(jù)查詢的實(shí)際情況有針對(duì)性的選擇和使用。

(1) SELECT

主要作用就是告訴數(shù)據(jù)庫(kù),在提取數(shù)據(jù)時(shí)需要選擇的字段名稱。這里的字段名稱可以是數(shù)據(jù)表中已經(jīng)有的名稱,也可以是依據(jù)已有名稱衍生出來(lái)的名稱。需要注意的是如果要查看表中所有數(shù)據(jù),只需要在SELECT后面直接寫(xiě)一個(gè)星號(hào)(*)即可;如果需要提取多個(gè)字段,在SELECT關(guān)鍵詞后面逐一寫(xiě)出字段名稱,并且字段名稱之間需要用逗號(hào)(英文狀態(tài)下)隔開(kāi)。

(2) FROM

主要作用就是告訴數(shù)據(jù)庫(kù),在提取數(shù)據(jù)時(shí)需要選擇的數(shù)據(jù)源(也就是表)名稱。
通常來(lái)說(shuō)SELECT和FROM兩個(gè)關(guān)鍵詞都是一起使用的。

# 選擇指定的數(shù)據(jù)庫(kù) use test; # 查看鏈家二手房所有數(shù)據(jù) select * from sec_buildings; # 查看鏈家二手房的小區(qū)名稱、戶型、面積、單價(jià)和總價(jià); select fname,ftype,size,price_unit,tot_amt from sec_buildings; # 查看鏈家二手房的平均單價(jià)和平均總價(jià) select avg(price_unit),avg(tot_amt) from sec_buildings;

(3) WHERE

主要作用就是限定數(shù)據(jù)查詢的條件,也就是實(shí)現(xiàn)數(shù)據(jù)子集的提取。通常情況下,查詢條件可以包含算術(shù)運(yùn)算符、比較運(yùn)算符、邏輯運(yùn)算符、區(qū)間運(yùn)算符和通配符。

# 選擇指定的數(shù)據(jù)庫(kù) use test; # 查看鏈家二手房所有數(shù)據(jù) select * from sec_buildings; # 查看鏈家二手房的小區(qū)名稱、戶型、面積、單價(jià)和總價(jià); select fname,ftype,size,price_unit,tot_amt from sec_buildings; # 查看鏈家二手房的平均單價(jià)和平均總價(jià) select avg(price_unit),avg(tot_amt) from sec_buildings;# 1.查詢所有兩室一廳的二手房信息 select * from sec_buildings where ftype="2室1廳"; # 2.查詢2014年建的浦東、靜安、閔行的二手房信息 select * from sec_buildings where built_date="2014年建" and region in ("浦東","靜安","閔行"); # 3.查詢閔行區(qū)房?jī)r(jià)在1000萬(wàn)以上的二手房名稱、戶型、面積、朝向和樓層 select fname,ftype,size,direction,floor from sec_buildings where region="閔行" and tot_amt>1000; # 4.查詢浦東新區(qū)面積在60-70平米的二手房名稱、戶型、面積和總價(jià) select fname,ftype,size,tot_amt from sec_buildings where region="浦東" and size between 60 and 70; #前后都包含 # 5.查詢浦東新區(qū)所有陽(yáng)臺(tái)朝南或者朝南北的二手房信息 select * from sec_buildings where region="浦東" and (direction="朝南" or direction="朝南北"); select * from sec_buildings where region="浦東" and direction in("朝南","朝南北"); #運(yùn)算優(yōu)先級(jí) not and or # 6.查詢浦東新區(qū)陽(yáng)臺(tái)不是朝南的二手房信息 select * from sec_buildings where region="浦東" and direction!="朝南"; select * from sec_buildings where region = "浦東" and not direction="朝南"; # 7.查詢小區(qū)名稱中包含“新天地”字樣的二手房信息 select * from sec_buildings where fname like "%新天地%";

(4)GROUP BY

主要用于統(tǒng)計(jì)時(shí)的分組操作,通常和聚合函數(shù)一起搭配使用。在SQL語(yǔ)法中,可以使用的聚合函數(shù)主要有以下5種:

select * from fruits;select count(*) from fruits; select count(f_name) from fruits; select count(s_id) from fruits;select distinct s_id from fruits; select count(distinct s_id) from fruits;

group by 應(yīng)用實(shí)例:

# 1.查詢各個(gè)行政區(qū)域下二手房的數(shù)量、總的可居住面積、平均總價(jià)格、最大總價(jià)格和最小單價(jià) select region,count(*) as counts,sum(size) as tot_size,avg(tot_amt) as avg_amt, max(tot_amt) as max_amt,min(price_unit) as min_price from sec_buildings group by region;

需要注意的是,如果對(duì)多個(gè)字段進(jìn)行分組統(tǒng)計(jì),那么需要將所有字段都寫(xiě)到關(guān)鍵詞group by后面,并以逗號(hào)(英文狀態(tài)下)隔開(kāi)。

# 2.查詢各個(gè)行政區(qū)域下每年二手房的數(shù)量、總的可居住面積、平均總價(jià)格、最大總價(jià)格和最小單價(jià) select region,built_date,count(*) as counts,sum(size) as tot_size,avg(tot_amt) as avg_amt, max(tot_amt) as max_amt,min(price_unit) as min_price from sec_buildings group by region,built_date;

這里嘗試用SQL計(jì)算RFM模型中的R、F、M值。這里將Excel RFM案例中的order數(shù)據(jù)集導(dǎo)入到MySQL中,需要注意的是導(dǎo)入之前,需要對(duì)數(shù)據(jù)集做一些處理,否則導(dǎo)不成功:

  • 1.將數(shù)據(jù)集中所有中文列名改成英文
  • 2.將數(shù)據(jù)存儲(chǔ)方式改成csv
  • 3.將數(shù)據(jù)編碼方式改成utf-8
# 提取出RFM模型關(guān)鍵字段 select buyer_id,datediff("2017-06-01",max(payment_time)) as R,count(buyer_id) as F,avg(actual_amt) as M from orders where payment_time between "2017-05-01 00:00:00" and "2017-05-31 23:59:59" group by buyer_id;

MySQL中所有函數(shù):https://www.runoob.com/mysql/mysql-functions.html

(5)HAVING

having關(guān)鍵詞與where關(guān)鍵詞的作用有一些相似

我們繼續(xù)看鏈家二手房數(shù)據(jù),現(xiàn)在的要求是按照地區(qū)、戶型、樓層和陽(yáng)臺(tái)朝向分組統(tǒng)計(jì)靜安區(qū)和浦東區(qū)二手房的平均單價(jià)和總數(shù)量,并篩選出平均單價(jià)超過(guò)100000元的記錄:

# 按照地區(qū)、戶型、樓層和陽(yáng)臺(tái)朝向分組統(tǒng)計(jì)靜安區(qū)和浦東區(qū)二手房的平均單價(jià)和總數(shù)量,并篩選出平均單價(jià) 超過(guò)100000元的記錄 select region,ftype,floor,direction, avg(price_unit) as avg_price,count(*) as counts from sec_buildings where region in ("靜安","浦東") group by region,ftype,floor,direction having avg_price > 100000;

(6)ORDER BY

用于查詢結(jié)果的排序,排序過(guò)程中可以按照某個(gè)或者某些字段進(jìn)行升序或者降序的排列。默認(rèn)是按照升序方式排序,如果需要降序排列的話,需要在字段后面跟上一個(gè)關(guān)鍵詞DESC。

# 按面積降序、總價(jià)升序的方式查詢出所有2室1廳的二手房信息 select * from sec_buildings where ftype = "2室1廳" order by size desc,tot_amt; select * from sec_buildings where ftype = "2室1廳" order by tot_amt,size desc;

體會(huì)一下上面兩個(gè)查詢結(jié)果。
需要注意的是order by關(guān)鍵詞后面的字段的順序是有意義的,排在前面的優(yōu)先級(jí)就比后面的要高。

(7)LIMIT

用于限定查詢返回的記錄行數(shù),可以選擇返回前幾行,中間幾行或者是末尾幾行。需要注意的是這個(gè)關(guān)鍵詞后面最多可以寫(xiě)兩個(gè)整數(shù)型的值:

LIMIT n:表示返回查詢結(jié)果的前n行
LIMIT m,n:表示從第m+1行開(kāi)始,連續(xù)返回n行的數(shù)據(jù)

# 查詢出建筑時(shí)間最悠久的5套二手房 select * from sec_buildings order by built_date limit 5; # 查詢出建筑時(shí)間最新的6套二手房 select * from sec_buildings order by built_date desc limit 6; # 查詢出浦東新區(qū)2013年建的二手房,并且總價(jià)排名在6-10 select * from sec_buildings where region="浦東" and built_date = "2013年建" order by tot_amt desc limit 5,5;

以上,就是查詢中常用的7個(gè)關(guān)鍵詞,同時(shí)也是數(shù)據(jù)提取時(shí)要用到的最基本的關(guān)鍵詞,同學(xué)們一定要掌握每個(gè)關(guān)鍵詞的作用和語(yǔ)法。

《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

總結(jié)

以上是生活随笔為你收集整理的MySQL——MySQL的数据查询功能的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。