最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

最新MySQL高級(jí)SQL語(yǔ)句大全

 更新時(shí)間:2022年06月27日 16:11:55   作者:風(fēng)雪一更ing  
這篇文章主要介紹了MySQL高級(jí)SQL語(yǔ)句,主要包括常用查詢(xún)知識(shí)order by按關(guān)鍵字排序的sql語(yǔ)句,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

引言

對(duì)MySQL數(shù)據(jù)庫(kù)的查詢(xún),除了基本的查詢(xún)外,有時(shí)候需要對(duì)查詢(xún)的結(jié)果集進(jìn)行處理。例如只取10條數(shù)據(jù)、對(duì)查詢(xún)結(jié)果進(jìn)行排序或分組等等。

一、常用查詢(xún)

1、order by按關(guān)鍵字排序

使用SELECT語(yǔ)句可以將需要的數(shù)據(jù)從MySQL數(shù)據(jù)庫(kù)中查詢(xún)出來(lái),如果對(duì)查詢(xún)的結(jié)果進(jìn)行排序,可以使用order by語(yǔ)句來(lái)對(duì)語(yǔ)句實(shí)現(xiàn)排序,并最終將排序的結(jié)果返回給用戶(hù)。這個(gè)語(yǔ)句的排序不光可以針對(duì)某一個(gè)字段,也可以針對(duì)多個(gè)字段。

語(yǔ)法:

select 字段1,字段2... from 表名 order by 字段1,字段2... asc   #查詢(xún)結(jié)果以升序方式顯示,asc可以省略
select 字段1,字段2... from 表名 order by 字段1,字段2,... desc #查詢(xún)結(jié)果以降序方式顯示

ASC是按照升序進(jìn)行排序,是默認(rèn)的排序方式,即ASC可以省略。SELECT語(yǔ)句中如果沒(méi)有指定具體的排序方式,則默認(rèn)按ASC方式進(jìn)行排序。DESC是按照降序方式進(jìn)行排列。當(dāng)然order by前面也可以使用where子句對(duì)查詢(xún)結(jié)果進(jìn)一步過(guò)濾。

1.1 升序排序

select name ,score from report order by score;

1.2 降序排序

select name ,score from report order by score desc;

1.3 結(jié)合where進(jìn)行條件過(guò)濾再排序

select name,score,address from report where address='hangzhou' order by score;

1.4 多字段排序

ORDER BY 語(yǔ)句也可以使用多個(gè)字段來(lái)進(jìn)行排序,當(dāng)排序的第一個(gè)字段相同的記錄有多條的情況下,這些多條的記錄再按照第二個(gè)字段進(jìn)行排序,ORDER BY 后面跟多個(gè)字段時(shí),字段之間使用英文逗號(hào)隔開(kāi),優(yōu)先級(jí)是按先后順序而定,但order by 之后的第一個(gè)參數(shù)只有在出現(xiàn)相同值時(shí),第二個(gè)字段才有意義。

select name,score,score2 from report order by score2,score desc;

此處做的實(shí)驗(yàn)是先升序排序再降序排序,也可以都降序排序或者都升序排序,這里就不做過(guò)多的例子了。

2、and/or判斷

在大型數(shù)據(jù)庫(kù)中,有時(shí)查詢(xún)數(shù)據(jù)需要數(shù)據(jù)符合某些特點(diǎn)條件
AND/OR 且/或 和shell腳本中一樣使用方法

2.1 and/or 且與或的使用

select name,score,cardid from report where score>80;

select name,score,cardid from report where score>80 and score<90;
select name,score,cardid from report where score<60 or score>90;

2.2 嵌套、多條件使用

select name,score,cardid from report where score<60 or (score>70 and score<80);
select name,score,cardid from report where score<60 or (score>70 and score<=100) order by score desc;

3、distinct 查詢(xún)不重復(fù)記錄

select distinct 字段 from 表名﹔
 distinct 必須放在最開(kāi)頭
 distinct 只能使用需要去重的字段進(jìn)行操作
 distinct 去重多個(gè)字段時(shí),含義是:幾個(gè)字段同時(shí)重復(fù)時(shí)才能被過(guò)濾,會(huì)默認(rèn)按左邊第一個(gè)字段為依據(jù)。

4、GROUP BY對(duì)結(jié)果進(jìn)行分組

通過(guò) SQL 查詢(xún)出來(lái)的結(jié)果,還可以對(duì)其進(jìn)行分組,使用 GROUP BY 語(yǔ)句來(lái)實(shí)現(xiàn) ,GROUP BY 通常都是結(jié)合聚合函數(shù)一起使用的,常用的聚合函數(shù)包括:計(jì)數(shù)(COUNT)、 求和(SUM)、求平均數(shù)(AVG)、最大值(MAX)、最小值(MIN),GROUP BY 分組的時(shí)候可以按一個(gè)或多個(gè)字段對(duì)結(jié)果進(jìn)行分組處理。

  1. 對(duì)group by 后面的字段的查詢(xún)結(jié)果進(jìn)行匯總分組,通常是結(jié)合聚合函數(shù)一起使用的
  2. group by 有一個(gè)原則,就是select 后面的所有列中,沒(méi)有使用聚合函數(shù)的列必須出現(xiàn)在 group by 的后面。
select 字段,聚合函數(shù) from 表名 (where 字段名(匹配) 數(shù)值) group by 字段名;

5、limit限制結(jié)果條目

limit 限制輸出的結(jié)果記錄

在使用 MySQL SELECT 語(yǔ)句進(jìn)行查詢(xún)時(shí),結(jié)果集返回的是所有匹配的記錄(行)。有時(shí)候僅需要返回第一行或者前幾行,這時(shí)候就需要用到 LIMIT 子句。

語(yǔ)法格式:
select 字段 from 表名 limit [offset,] number
 
limit 的第一個(gè)參數(shù)是位置偏移量(可選參數(shù)),是設(shè)置 mysql 從哪一行開(kāi)始
 
如果不設(shè)定第一個(gè)參數(shù),將會(huì)從表中的第一條記錄開(kāi)始顯示。
 
第一條偏移量是0,第二條為1
 
offset 為索引下標(biāo)
 
number 為索引下標(biāo)后的幾位

6、設(shè)置別名(alias—as)

在 mysql 查詢(xún)時(shí),當(dāng)表的名字比較長(zhǎng)或者表內(nèi)某些字段比較長(zhǎng)時(shí),為了方便書(shū)寫(xiě)或者多次使用相同的表,可以給字段列或表設(shè)置別名,方便操作,增強(qiáng)可讀性。

列的別名  select 字段 as 字段別名 表名
 
表的別名 select 別名.字段 from 表名 as 別名
 
as 可以省略

使用場(chǎng)景:

對(duì)復(fù)雜的表進(jìn)行查詢(xún)的時(shí)候,別名可以縮短查詢(xún)語(yǔ)句的長(zhǎng)度多表相連查詢(xún)的時(shí)候(通俗易懂、減短sql語(yǔ)句)

在為表設(shè)置別名時(shí),要保證別名不能與數(shù)據(jù)庫(kù)中的其他表的名稱(chēng)沖突。

列的別名是在結(jié)果中有顯示的,而表的別名在結(jié)果中沒(méi)有顯示,只在執(zhí)行查詢(xún)時(shí)使用。

6.1 查詢(xún)表的記錄數(shù)量,以別名顯示

6.2 利用as,將查詢(xún)的數(shù)據(jù)導(dǎo)入到另外一個(gè)表內(nèi)

create table report2 as select * from report;
select * from report2;
select * from report;

此處as起到的作用:

  1. 創(chuàng)建了一個(gè)新表, 并定義表結(jié)構(gòu),插入表數(shù)據(jù)(與school表相同)
  2. 但是”約束“沒(méi)有被完全”復(fù)制“過(guò)來(lái) #但是如果原表設(shè)置了主鍵,那么附表的:default字段會(huì)默認(rèn)設(shè)置一個(gè)0

7、通配符

  • 通配符主要用于替換字符串中的部分字符,通過(guò)部分字符的匹配將相關(guān)結(jié)果查詢(xún)出來(lái)。
  • 通常通配符都是跟LIKE一起使用的,并協(xié)同WHERE子句共同來(lái)完成查詢(xún)?nèi)蝿?wù)。
  • 常用的通配符有兩個(gè),分別是:
%:百分號(hào)表示零個(gè)、一個(gè)或多個(gè)字符
_:下劃線(xiàn)表示單個(gè)字符

通配符“%”和“_”不僅可以單獨(dú)使用,也可以組合使用

到此這篇關(guān)于MySQL高級(jí)SQL語(yǔ)句的文章就介紹到這了,更多相關(guān)mysql sql語(yǔ)句內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • mysql聚集索引、輔助索引、覆蓋索引、聯(lián)合索引的使用

    mysql聚集索引、輔助索引、覆蓋索引、聯(lián)合索引的使用

    本文主要介紹了mysql聚集索引、輔助索引、覆蓋索引、聯(lián)合索引的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • MySQL數(shù)據(jù)表的常見(jiàn)約束小結(jié)

    MySQL數(shù)據(jù)表的常見(jiàn)約束小結(jié)

    在數(shù)據(jù)庫(kù)設(shè)計(jì)中,約束(Constraints)是用于確保數(shù)據(jù)的完整性、準(zhǔn)確性和一致性的規(guī)則,MySQL?提供了多種約束類(lèi)型,幫助我們規(guī)范數(shù)據(jù)存儲(chǔ),本文給大家介紹了MySQL數(shù)據(jù)表的常見(jiàn)約束,需要的朋友可以參考下
    2024-12-12
  • IDEA使用mybatis-generator及配上mysql8.0.3版本遇到的bug

    IDEA使用mybatis-generator及配上mysql8.0.3版本遇到的bug

    這篇文章主要介紹了IDEA使用mybatis-generator以及配上mysql8.0.3版本遇到的問(wèn)題,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-11-11
  • mysql 查詢(xún)數(shù)據(jù)庫(kù)響應(yīng)時(shí)長(zhǎng)的方法示例

    mysql 查詢(xún)數(shù)據(jù)庫(kù)響應(yīng)時(shí)長(zhǎng)的方法示例

    要查詢(xún)MySQL數(shù)據(jù)庫(kù)的響應(yīng)時(shí)長(zhǎng),通常我們需要測(cè)量查詢(xún)執(zhí)行的時(shí)間,本文主要介紹了mysql 查詢(xún)數(shù)據(jù)庫(kù)響應(yīng)時(shí)長(zhǎng)的方法示例,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-06-06
  • MySQL詳細(xì)講解變量variables的用法

    MySQL詳細(xì)講解變量variables的用法

    MySQL系統(tǒng)變量(system variables)實(shí)際上是一些系統(tǒng)參數(shù),用于初始化或設(shè)定數(shù)據(jù)庫(kù)對(duì)系統(tǒng)資源的占用,文件存放位置等等,本篇文章我們來(lái)探究一下variables
    2022-06-06
  • 如何解決mysql執(zhí)行導(dǎo)入sql文件速度太慢的問(wèn)題

    如何解決mysql執(zhí)行導(dǎo)入sql文件速度太慢的問(wèn)題

    文章介紹了一種通過(guò)修改MySQL導(dǎo)出命令參數(shù)來(lái)優(yōu)化大SQL文件導(dǎo)入速度的方法,通過(guò)對(duì)比目標(biāo)庫(kù)和導(dǎo)出庫(kù)的參數(shù)值,并使用優(yōu)化后的參數(shù)進(jìn)行導(dǎo)出,再在目標(biāo)庫(kù)導(dǎo)入,顯著提高了導(dǎo)入速度
    2024-11-11
  • 淺析MySQL中主從延遲問(wèn)題的原因與解決方法

    淺析MySQL中主從延遲問(wèn)題的原因與解決方法

    這篇文章主要帶大家從一個(gè)主從延遲問(wèn)題開(kāi)始回顧主從復(fù)制原理,并思考主從延遲造成的原因和解決方案,文中的示例代碼講解詳細(xì),感興趣的可以了解下
    2024-02-02
  • MySQL中字符串函數(shù)詳細(xì)介紹

    MySQL中字符串函數(shù)詳細(xì)介紹

    通常以串的整體作為操作對(duì)象,如:在串中查找某個(gè)子串、求取一個(gè)子串、在串的某個(gè)位置上插入一個(gè)子串以及刪除一個(gè)子串等。
    2011-05-05
  • MySQL日志專(zhuān)項(xiàng)之redo log和undo log介紹

    MySQL日志專(zhuān)項(xiàng)之redo log和undo log介紹

    MySQL日志記錄了MySQL數(shù)據(jù)庫(kù)日常操作和錯(cuò)誤信息,MySQL有不同類(lèi)型的日志文件(各自存儲(chǔ)了不同類(lèi)型的日志),從日志當(dāng)中可以查詢(xún)到MySQL數(shù)據(jù)庫(kù)的運(yùn)行情況、用戶(hù)操作、錯(cuò)誤信息等
    2022-08-08
  • 一起了解了解MySQL存儲(chǔ)引擎

    一起了解了解MySQL存儲(chǔ)引擎

    大家好,本篇文章主要講的是一起了解了解MySQL存儲(chǔ)引擎,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話(huà)記得收藏一下,方便下次瀏覽
    2021-12-12

最新評(píng)論

吴桥县| 西贡区| 康平县| 武宣县| 庆云县| 阜宁县| 西乡县| 鹤峰县| 舞钢市| 石柱| 千阳县| 县级市| 龙口市| 岫岩| 宝山区| 合山市| 定西市| 金山区| 金溪县| 金门县| 蒲江县| 武山县| 凭祥市| 大渡口区| 铜川市| 乡宁县| 乌拉特中旗| 正镶白旗| 东方市| 怀来县| 彭阳县| 荥经县| 娄底市| 德化县| 呼和浩特市| 治县。| 宁波市| 平泉县| 永州市| 常州市| 永济市|